Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Ododododo

[CentOS 서버 구축] Nginx uWSGI 설치 및 Django와의 연결 본문

자하의 0/CentOS 7 서버 구축

[CentOS 서버 구축] Nginx uWSGI 설치 및 Django와의 연결

오도도도도 2017. 2. 14. 00:53

python3.5와 Django 설치 http://jaha01.tistory.com/11



이번에는 저번에 설치한 Django에 연결할 uWSGI와 Nginx에 대해 작성하겠다.



참고 사이트 : https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-uwsgi-and-nginx-on-centos-7



1. uWSGI 설치 및 설정

1.1 uWSGI 설치



python3.5를 바탕으로 진행한 것이기 때문에 pip3.5로 uwsgi를 설치해준다. 설치 후에 2번째 줄 명령어로 Django project를 실행시켜줄 수 있다. 


--http :8080  >>  http로 포트번호 8080으로 project를 열어준다.

--home /home/uesr/Env/myproject  >>  지난 포스트에서 만들어준 가상환경을 home으로 잡아준다.

--chdir /home/user/myproject   >>  project directory를 잡아준다.

-w myproject.wsgi  >>  project directory 안에 있는 wsgi 파일을 연결해준다.



위 명령의 option들의 의미이다. 사실 이렇게 실행하는 것은 작동이 잘 되는지 확인함을 위해서일뿐이다.



1.2 uWSGI 설정



이제 uWSGI를 위한 설정 파일을 만들어주겠다. 설정 파일을 위한 directory를 만들어주고 그 안에 myproject.ini를 만들었다.

myproject.ini의 내용은 아래와 같다.



가장 위에 project와 username에 자신의 설정에 맞게 넣어주면 된다. Unix Domain Socket을 사용해서 uWSGI를 실행시키기 위해 socket에 대한 설정을 해주었다. 나중에 nginx를 설치할 것이기 때문에 owner를 user:nginx로 설정해주었다. vacuum은 만약 uWSGI가 중지되었을때 Unix Domain Socket 파일을 삭제시켜주는 것을 뜻한다. 나머지 설정은 보면 알 수 있을 것이다. logto 설정을 통해 uWSGI실행 로그를 파일로 저장해주었는데 /var/log/ 안에 uwsgi라는 폴더는 없을 것이다. uwsgi 폴더만 만들어주면 이상없이 진행될 것이다.


위의 설정파일을 default로 하나 만들어놓고 다른 project를 진행할때 project 이름만 변경해주면 쓸 수 있을 것이다.



1.3 uWSGI의 Systemd Unit File 생성



uWSGI를 systemd로 실행시키기 위한 service파일을 생성해보도록 하겠다. 내용은 아래와 같다.



이렇게 작성해주면 uWSGI를 systemd로 실행시킬 준비가 다 되었다.


2. Nginx 설치 및 설정


2.1 Nginx 설치


이렇게 간단히 nginx를 설치해주고 바로 설정 파일을 만들어주면 된다.

2.2 Nginx config 설정



이런 식으로 conf.d 폴더안에 있는 conf 파일들이 include 되어있다. 그래서 굳이 nginx.conf 파일을 수정하지 않고 conf.d 폴더에 우리 project에 대한 conf파일을 생성하겠다.



SERVER_IP / SERVER_DOMAIN에 자신의 설정에 맞는 값을 써주면 된다. 이제 Nginx 설정까지 모두 완료되었다.





모든 설치 및 설정이 끝났다. 이제 Nginx와 uWSGI를 실행시켜 주기만 하면 끝난다.


이제 설정한 Domain 혹은 IP로 접속하면 자신의 Django project가 실행되고 있는 것을 볼 수 있을 것이다. 



다음 포스트에서는 HAProxy로 Nginx서버 2개를 Load Balancing 하는 방법을 설명하도록 하겠다.

Comments