nginx와 uwsgi 설치 및 연동

2011, Aug 18    

ubuntu 기준으로 작성되었습니다. 검색해봐도 한글로 된 자료는 없어서
짧은 영어실력으로 설치하고 삽질하고 한거라 국내에서는 레어자료일것 같네요 ㅋ 

1. 설치준비
http://nginx.org/en/download.html 

위의 링크에서 nginx 설치파일을 받습니다.


전 1.0.5버전이 최신버전입니다.

http://projects.unbit.it/uwsgi/wiki/WikiStart#Getit

위의 링크에서 uwsgi를 받습니다. 0.9.8.3이 릴리즈중 최신이네요 

두개의 받은 것을 압축을 풉니다.

2.  PCRE(Perl 5 Compatible Regular Expression Library) Library 설치

apt-get install libpcre3 libpcre3-dev</p>

3.nginx설치

nginx의 압축이 풀린 폴더에 들어가면 

configure 파일이 있습니다.

그리고 uwsgi의 압축을 푼 경로를 알아야됩니다

#  sudo ./configure --prefix=/etc/nginx
# sudo make

# sudo make install


nginx가 설치가 완료가 되었습니다.
</p>

80포트에 다른 애들(아파치나 등등)이 미리 설치 되어있으면

이미 사용중이라고 안된다고 합니다.

/etc/nginx/sbin에 nginx를 실행시키면 welcame to Nginx라는 문구를 볼 실수 있을 거에요

</span>4.uwsgi 설치
압축 푼 경로로 들어가셔서
# sudo apt-get install build-essential python-dev libxml2-dev
실행해서 설치전 요구되는 것들을 깔아줍니다.
특정 python 버전을 선택하기 위해서
# sudo make -f Makefile.Py32
로 실행하면 python 3.2버전으로 설치가 가능합니다.
설치가 완료되면

그폴더에 uwsgi 실행파일이 하나 생깁니다.


이것에 명령어를 주어서 실행시킬수 있습니다.

</span>

/var/www/hello.py 경로에 아래의 소스를 위치시키구요
$ ./uwsgi --http :9090 --wsgi-file /var/www/hello.py

실행후


http://localhost:9090으로 접근하시면
</p>

 

위의 사진처럼 보실수 있습니다.

위에 사진에는 잘 되는지 확인하기 위해서 응답헤더에 Server이름을 추가해 봤습니다.
</div>


python 3.2으로 실행되었다는것도 확인이 되네요 ㅋ

인제 지지분한 포트번호를 때기 위해서 Nginx와 연결해보겟습니다.


5. nginx와 uwsgi 연결

/etc/nginx에 nginx를 설치했는데요
/etc/nginx/config에 nginx.conf 파일이 있는데
nginx.conf가 서버 설정을 담당하는 파일입니다.
여기서 server { ... } 안에 location / { .... } 부분이 있는데
location / { .. } 의 중괄호 안에 값을 바뀌어 줍니다.

include uwsgi_params;
uwsgi_pass 127.0.0.1:9090 

으로 바꾸어서 저장을 하시고

다시 nginx를 실행시키시고


http://locahost나 http://127.0.0.1로 실행시키면

위의 그림처럼 잘 반영되었음을 확인할수 있습니다.
 
</div>