문제인식
=> 현재 프로젝트인 llm프로젝트에서 고용량의 pdf을 데이터 전처리 진행해 db에 저장하는 기능이 있어 개발을 완료하고
EC2에 배포 후 진행을 하니 이런 오류가 난다.
분명 로컬 환경에서는 정상 작동되는데 오류가 나서 확인해 보니 타임아웃 때문이었다.
gunicorn, nginx에서 기본 시간초과 기준은 30초였기에.. 테스트를 해보니 4분 정도 걸리는 작업이라 30초가 지나니까 딱 저렇게 멈춰버리는 것을 확인했다.
=> 문제 해결은 너무나도 간단하다! gunicorn, nginx에 설정만 하나 추가해주면 된다!
해결방법
1. sudo vi /etc/nginx/conf.d/{본인 프로젝트 명}.conf -> nginx설정
server {
listen 80;
server_name 본인ip;
client_max_body_size 100M;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Url-Scheme $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://unix:/run/gunicorn.sock;
proxy_connect_timeout 300s;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
}
location /static/ {
autoindex on;
alias /home/ubuntu/MARU_EGG_LLM/static/;
}
=> 이렇게 timeout관련 설정을 작성해주고
2. sudo vi /etc/systemd/system/gunicorn.service -> gunicorn설정
=> gunicorn도 timeout설정을 다음과 같이 추가해 주자
3. 재실행
sudo systemctl restart nginx
sudo systemctl daemon-reload
sudo systemctl restart gunicorn
=> 이렇게 차례대로 재실행을 마치면?
결과
=> 성공적으로 실행된 것을 알 수 있다!
'AWS' 카테고리의 다른 글
가비아에서 500원에 도메인 구매후 EC2 프로젝트에 적용하기 (0) | 2024.08.10 |
---|---|
EC2 서비스에 도메인 구매 & 적용까지 + https 적용까지 간단하게 (0) | 2024.08.01 |
AWS EC2에서 주기적으로 Python 스크립트 실행하기(매우간단) - ec2 자동화 & ec2스케줄링 (crontab) (0) | 2024.07.26 |
터미널에서 ec2 연결하기 - 매우간단 + 요약 (0) | 2024.07.16 |