Python和Django的安裝就不寫了,網上太多了,Django的部分推薦看http://www.djangoproject.com/ 已經很詳細了。css
下面記錄一下怎樣爲Django配置Nginx:python
須要用到flup,直接python setup.py install安裝便可。http://trac.saddi.com/flupnginx
而後django
#python manage.py runfcgi socket=/tmp/python/python.sock maxrequests=1socket
固然也能夠ide
#python manage.py runfcgi method=prefork host=127.0.0.1 port=9001.net
配置nginx.confunix
server {server
listen 80;ip
server_name p.wraith.com;
root /data0/htdocs/python;
access_log /data1/logs/python.access.log;
error_log /data1/logs/python.error.log;
#配置django admin須要的文件
location ~* ^/media/(css|img|js)/.*$ {
root /usr/local/lib/python2.6/site-packages/django/contrib/admin;
expires 30d;
break;
}
location ~* ^.+\.(mpg|avi|mp3|swf|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|txt|tar|mid|midi|wav|rtf|mpeg)$ {
access_log off;
break;
}
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|bmp|js)$ {
expires 30d;
break;
}
location / {
fastcgi_pass unix:/tmp/python/python.sock;
#若是上面是採用TCP的形式則
#fastcgi_pass 127.0.0.1:9001;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
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 SERVER_PORT $server_port;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param REMOTE_USER $remote_user;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_SOFTWARE "nginx";
fastcgi_param GATEWAY_INTERFACE "CGI/1.1";
}
}
若是出現502錯誤的話,看一下python.sock的權限
若是不喜歡用Django也能夠看看這裏 http://timyang.net/tag/flup/