글 수 367
CentOS 5.6 + NginX 0.8.54 + Django 1.3 (FastCGI) + Python 2.7.2
조회 수 6251 추천 수 0 2014.03.28 18:17:52Python 으로 가장 많이 이용되는 웹프레임워크는 Django 이다. 최근 가벼움과 성능으로 인정을 받고 있는 NginX 와 FastCGI 로 연동하여 설치하는 방법을 간단하게 정리해보았다. CentOS 6.0 이 나오긴 했지만, 아직 5.x 환경도 많이 이용되고 있으리라 생각하여 CentOS 5.6 에서 테스트하였으며, 아마 6.0 에서도 무리없이 설치될 것으로 믿는다.
- Install Python
# echo 'export PYTHONBREW_ROOT=/opt/pythonbrew' >> /etc/profile; source /etc/profile # curl -kLO http://xrl.us/pythonbrewinstall; chmod +x pythonbrewinstall; ./pythonbrewinstall # echo 'source /opt/pythonbrew/etc/bashrc' >> /etc/profile; source /etc/profile # pythonbrew install --force --no-test 2.7.2 # pythonbrew switch 2.7.2
- Install Django
# pip install django flup
- Create Project
# mkdir -p /opt/project # cd /opt/project # django-admin.py startproject sample_project # cd sample_project # mkdir media
- Run Project
# cd /opt/project/sample_project # python manage.py runfcgi method=prefork pidfile=/tmp/django_sample.pid host=127.0.0.1 port=8000
- Install NginX
# yum install nginx
- Configure NginX
# cd /etc/nginx # vi nginx.conf ... server { 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; } } ...
- Run NginX
# /etc/init.d/nginx restart