Nginx Install
$ sudo apt-get update
$ sudo apt-get install nginx
제대로 동작하는지 확인하기 위해 nginx를 실행해본다.
$ sudo service nginx start
사이트 IP 주소에 접속해서 Welcome to nginx!
페이지가 보이면 정상 동작하는 것이다.
Nginx Setting
Django를 이용해서 서버에 요청을 보낼 수 있도록 Nginx 설정 파일을 생성한다.
/etc/nginx/sites-available/사이트주소
server {
listen 80;
server_name 서버_이름;
location / {
proxy_pass http://localhost:8000;
}
}
이 설정은 로컬 포트 8000으로 들어오는 모든 요청을 Django로 보내서 응답하도록 한다.
$ sudo ln -s /etc/nginx/sites-available/사이트주소 /etc/nginx/sites-enable/사이트주소
$ ls -l /etc/nginx/sites-enabled
symlink를 이용하여 사이트를 쉽게 시작하고 종료할 수 있도록 설정한다.
$ sudo rm /etc/nginx/sites-enabled/default
기본으로 설정된 Welcome to Nginx
은 제거한다.
Run
$ sudo service nginx reload
$ python manage.py runserver
사이트 IP 주소에 접속해서 원하는 페이지가 보이는지 확인한다.
Gunicorn Install
$ pip install gunicorn
Static file setting
Django 개발 서버는 정적 파일을 알아서 제공해주지만 Gunicorn을 이용하면 해주지 않기 때문에 Nginx가 정적 파일을 제공할 수 있도록 하는 설정이 필요하다.
python manage.py collectstatic
먼저 collectstatic으로 정적 파일들을 Nginx가 찾을 수 있는 폴더에 복사한다.
/etc/nginx/sites-available/사이트주소
server {
listen 80;
server_name 서버_이름;
location /static {
alias static 파일 경로;
}
location / {
proxy_pass http://localhost:8000;
}
}
설정 파일을 수정한다.
Run
$ sudo service nginx reload
$ gunicorn 프로젝트명.wsgi:application
사이트에 접속해서 페이지를 확인한다.
참고자료
클린 코드를 위한 테스트 주도 개발 - 해리 J.W.퍼시벌 지음 / 김완섭 옮김