프로그램설치

aws, nginx, gunicorn, docker, mysql, django , vuejs 배포 - (3)

예쁜꽃이피었으면 2020. 4. 27. 15:11

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 {
        listen 80;
        server_name 도메인;

        root /var/www/html/dist;  //vue위치
        index index.html index.htm;

        location / {
                try_files $uri $uri/ /index.html;
        }

        location /test {
                proxy_set_header proxied nginx;
                proxy_pass http://도메인:8080/test;
        }

}

 

# 정적파일은 /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


반응형