본문 바로가기

Django

AWS EC2에 github를 이용해 장고 어플리케이션 배포하기2

이해를 돕기 위해 지난 글에 이어서 진행한다.

 

 

1. uwsgi 설치

가상환경을 안쓰기도 하던데 이 글에서는 가상 환경 안에서 설치한다.

 

pip3 install uwsgi

 

2. 실행 테스트

uwsgi --http :8000 --home /home/ubuntu/myvenv/ --chdir /home/ubuntu/app/project/ -w config.wsgi

 

--http: port

--chdir : project 위치

--w: 장고 프로젝트의 wsgi.py

 

주의! wsgi.py를 정확하게 설정하지 않으면 페이지가 재대로 나오지 않는다. wsgi.py 파일이 project/config/ 폴더 안에 있다면 위의 명령같이 입력해야 한다.

 

 

8000번 포트로 접속하여 잘 작동하면 설치에 성공한 것이다. 이제 uwsgi 설정파일을 생성한다.

 

 

3. uwsgi 설정파일 생성하기

프로젝트로 돌아와서 원하는 위치에 설정파일을 생성한다. 이 글에서는 project/config/uwsgi/mysite.ini 의 경로에 생성하도록 하겠다.

 

[uwsgi]
env=DEV=True    <<<<---- 환경 변수 설정 방법, 필요 없으면 이 줄을 삭제한다

chdir = /home/ubuntu/app/project/
module = config.wsgi:application
home = /home/ubuntu/myvenv/

uid = ubuntu
gid = ubuntu

socket = /tmp/mysite.sock
chmod-socket = 666
chown-socket = ubuntu:ubuntu

enable-threads = true
master = true
vacuum = true
pidfile = /tmp/mysite.pid
logto = /var/log/uwsgi/project/@(exec://date +%%Y-%%m-%%d).log
log-reopen = true

 

chdir : 프로젝트 경로

module : wsgi 파일 경로 + :application

home : 가상환경 경로 

 

4. 서버로 돌아가서 로그 파일이 저장될 폴더를 생성 후 권한을 설정한다

sudo mkdir -p /var/log/uwsgi/project
sudo chown -R ubuntu:ubuntu /var/log/uwsgi/project/

 

 

 

5. 실행 테스트

sudo /home/ubuntu/myvenv/bin/uwsgi -i /home/ubuntu/app/project/config/uwsgi/mysite.ini

 

sudo 다음의 /home/ubuntu/myvenv/ 경로는 자신의 가상환경 경로이다. 자신에 맞게 수정한다.

 

 

 

6. 로그 확인하기

sudo tail -f /var/log/uwsgi/project/2020-03-15.log

 

뒤에 날짜 부분은 필요한 로그 날짜를 입력하면 된다.

 

 

 

 

참고 : https://nerogarret.tistory.com/45