EC2의 사이즈를 small 정도로 운영하니 메모리가 99%가 뜨면서 결국 서버가 내려가게 되었던 이슈가 있었다. 해당 이슈는 nginx의 세팅을 해줘서 메모리 누수를 막아줘야하는 이슈라고 한다. 나는 아래 블로그를 보고 참고했는데, 해결방법이 다양하니 밑에 여러 방안을 작성해봤다. https://velog.io/@stay136/gunicorn%EA%B3%BC-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EB%88%84%EC%88%98 원인 1) gunicorn의 max connection을 지정 안해주면 default(4개)로 잡히는데, 연결 안끊고 클라이언트가 5개이상 붙어있으면 서버가 클라이언트 소켓 accept를 못하게되고 무한으로 pending 되게 되는 현상으로 메모리 누수현상이 일어나..
Elastic Beanstalk
github action으로 배포하려는데, 환경변수가 안먹는다. syntax 오류인 것 같은데 천천히 알아보자. 일단 위처럼 Dockerrun.aws.json 파일이 있다고 생각하자. .py , .js , .env file은 수정하기 편한데, .json 파일의 value나 key는 수정하기 여간 불편한게 아니다. json file을 수정하려면 sed 명령어를 사용해야한다. 나는 위와 같이 Dockerrun.aws.json 파일의 value 값을 수정하려고 한다. 코드를 대략적으로 설명하자면, Name이라는 키를 가지고 있는 key : value를 수정하는데, value는 build-image steps의 출력물인 image 값으로 바꾸겠다라는 뜻이다. 그리고 file 명은 Dockerrun.aws.jso..
만약 Deploy를 하다가 뭔가 잘못됐으면 eb-engine을 보라고 한다. 근데 처음 EB를 배포하면 로그를 어디서 봐야하나 고민이 많을 것이다. EB 배포 시 로그 보는 법에 대해서 말해보고자 한다. 환경을 누르면 위와같이 로그 탭이 있다. 1. 마지막 100줄 그럼 이와 같이 나오는데, 한 번 새로고침을 하고나서 지금 배포했을 때 급한 에러만 보고 싶으면 마지막 100줄을 누르면 창이 뜨면서 위와 같이 로그가 나온다. 그래서 [ERROR] 부분을 보고 트러블 슈팅을 해나가면 된다. 2. 전체 로그 전체 로그를 누르고 다운로드를 누르면 zip 파일이 나온다 log - eb-engine.log 파일을 보면된다. 처음부터 끝까지 로그가 나와있으니 ctrl + F 해서 ERROR, INFO 등 지정해서 보..