aws, nginx, gunicorn, docker, mysql, django , vuejs 배포 - (3)
1. gunicorn설치
가상환경이 실행된 상태에서
# pip3 install gunicorn
gunicorn설정
sudo vi /etc/systemd/system/gunicorn.service
IP를 0.0.0.0 설정하여 외부에서도 접속이 가능하게 하였고, 8080포트로 설정하였다. 아래 명령어를 통해 실행 시킨다.
[Unit] Description=gunicorn daemon After=network.target [Service] User=ubuntu Group=www-data WorkingDirectory=/home/ubuntu/project/django_P ExecStart=/home/ubuntu/project/myvenv/bin/gunicorn \ --workers 5 \ --bind 0.0.0.0:8080 \ django_P.wsgi:application [Install] WantedBy=multi-user.target |
# sudo systemctl daemon-reload
# sudo systemctl start gunicorn
# sudo systemctl enable gunicorn
# systemctl status gunicorn.service
# cd /home/ubuntu/project/django_P
# gunicorn --bind 0.0.0.0:8000 프로젝트명.wsgi:application
여기까지 하면서 설치가 필요하다고 하는 것들은 다 설치해줬음.
오류가 없다면 브라우저에서 접속되는지 확인해보자.
* 여기서 해줬던 작업이
내 프로젝트(django_P) 내에
django_P/settings.py 에서
DEBUG = False
ALLOWED_HOSTS = ['127.0.0.1', '.pythonanywhere.com']
수정함
2. nginx설정
/etc/nginx/sites-available/django_test
django_test 파일 생성 후 작성
server {
# 정적파일은 /var/www/html/dist로 # 동적파일은 ( uri에 test가 붙은 경우 ) 8080port로 설정한 gunicorn으로 보낸다. |
사이트 추가
#sudo ln -s /etc/nginx/sites-available/django_test /etc/nginx/sites-enabled
# sudo systemctl restart nginx //nginx재기동 (# service nginx restart)
# service nginx status //nginx실행 확인
* 애를 먹었던 부분이 proxy_pass 주소인데
계속 ip로 할 때는 안됐고 도메인을 적으니까 됐다. 원인은 모르겠다..
( https://brunch.co.kr/@alden/58 )
nginx no live upstream 에러 이해하기
Linux OpenSource | 글 발행 후 새롭게 확인된 사실이 있어 업데이트 합니다!! nginx를 리버스 프록시로 운영하다 보면 다양한 이슈를 만나게 됩니다. 오늘은 그중에서 no live upstream 에러에 대해서 이야기하려고 합니다. no live upstream 에러가 왜 발생하고 어떻게 해결할 수 있는지에 대해 살펴보겠습니다. reverse proxy 로서의 nginx
brunch.co.kr
* Nginx의 오류 로그 실시간 확인
tail -f /var/log/nginx/error.log
* Nginx의 서버 접근 기록 실시간 모니터링
tail -f /var/log/nginx/access.log