1.安裝 flup 模塊html
下載:http://projects.unbit.it/downloads/uwsgi-latest.tar.gzpython
安裝:python setup.py installlinux
2.安裝 djangonginx
去官網下載:https://www.djangoproject.com/download/web
安裝:python setup.py installdjango
3.創建服務器與 FastCGI server 的連接vim
web 服務器可經過兩種辦法和 FastCGI server 鏈接:
1). Unix domain socket(或 win32 的「命名管道")
2). TCP socket
一般 TCP socket 更簡單, 由於權限問題比較好配置
如何啓動 FactCGI 服務器:
到項目目錄中, 執行:
python manage.py runfcgi [options]
若是要看幫助:
python manage.py runfcgi help
在選項中, 須要指定一個 socket 或 (host 和 port 的組合), 這樣的話, 當你啓動 web server 時, 就能夠經過這些信息來鏈接到 FactCGI 服務器服務器
如下爲兩種啓動方法的示例, 能夠選擇其中一種: 1).在 TCP 端口中運行一個線程內服務器:dom
python manage.py runfcgi method=threaded host=127.0.0.1 port=8051 daemonize=true minspare=10 maxspare=30socket
2).在 Unix domain socket 上運行一個 preforked 服務器(Windows不支持):
python manage.py runfcgi method=prefork socket=/tmp/django.sock daemonize=true maxrequests=1 minspare=10 maxspare=30 pidfile=/var/run/django.pid
PS: 若是不調試則 daemonize=false
PS: 第二種方法若是想中止後臺的 FastCGI 進程, 執行 kill -9 `cat /var/run/django.pid`
4.修改nginx的配置文件:
server {
listen 8000;
server_name localhost;
access_log /usr/local/nginx/log.log main;
error_log /usr/local/nginx/error.log debug;
location / {
#若是上面是採用TCP的形式則
#fastcgi_pass 127.0.0.1:8051;
#若是上面是採用的unix sock的形式則
fastcgi_pass unix:/tmp/django.sock;
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_param REMOTE_ADDR $remote_addr;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
}
}
5.啓動nginx服務器
1.檢測nginx服務器配置
/usr/local/nginx/sbin/nginx -t
2.平滑重啓
/usr/local/nginx/sbin/nginx -s reload
6.訪問localhost:8000便可
7.若是出現502錯誤, 檢查錯誤日誌, 及/tmp/django.sock的訪問權限
參考:
Django on Nginx https://wiki.freebsdchina.org/doc/n/nginx_django
django-admin.py和manage.py http://www.tuicool.com/articles/226ZZv
Python+Django+Nginx服務器環境的配置 https://wiki.freebsdchina.org/doc/n/nginx_django
如何用 FastCGI 運行 Django http://www.cnblogs.com/RChen/archive/2007/03/23/django_fcgi.html
linux下nginxpythonfastcgi部署總結django版 http://www.vimer.cn/2011/07/linux%E4%B8%8Bnginxpythonfastcgi%E9%83%A8%E7%BD%B2%E6%80%BB%E7%BB%93django%E7%89%88.html
Django 站點部署和管理經常使用命令 http://www.oschina.net/question/234345_54799