2012. 2. 24. 03:14
프로그래밍/장고
1. 파이썬 설치
apt-get install zlibc zlib1g-dev
장고와 엔진엑스를 연동하기 위해서는 파이썬에서 FastCGI 프로토콜을 구현하는 flup라이브러리가 필요한데 이를 인스톨 해야한다.
apt-get install python-flup
2. 장고 설치
알아서 설치
3. 프로젝트 만들기
# mkdir -p /opt/project
# cd /opt/project
# django-admin.py startproject sample_project
# cd sample_project
# mkdir media
4. 프로젝트 실행
# cd /opt/project/sample_project
# python manage.py runfcgi method=threaded pidfile=/tmp/django_sample.pid host=127.0.0.1 port=8000
=====
# python manage.py runfcgi method=prefork host=127.0.0.1 port=9000 pidfile=/var/run/django.pid
위의 셋팅값을 보면 알 수 있듯이 폴더와 방식 등을 설정해서 사용하면 된다.
5. 엔진엑스 설치
- 엔진엑스를 컴파일하는데 있어서 PCRE(Perl Compatible Recular Expression)이 필요하다.
#apt-get install libpcre3 libpcre3-dev
- OpenSSL 라이브러리도 깔아야된다.
#apt-get install openssl libssl-dev
http://nginx.org/en/download.html 에서 stable버전을 다운받아서 압축을 푼 후에 다음과 같이 입력한다.
설정파일을 바꾼 다음에 실행을 하면된다.
#./configure
#make
#make install
6. 엔진엑스 설정
# cd /etc/nginx/sites-available
# vi django
server {
listen 80;
server_name 도메인주소;
location /site_media {
root /opt/project/sample_project/media/;
}
location / {
# host and port to fastcgi server
fastcgi_pass 127.0.0.1:8000;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
}
}
# cd /etc/nginx/sites-enabled
# ln -s /etc/nginx/sites-available/django django
7. 엔진엑스 실행
# /etc/init.d/nginx restart