/ 中存储网

Python+Django+Nginx服务器环境的配置

2013-08-18 23:02:29 来源:ITJS.CN

下面记录一下怎样为Django配置Nginx:

然后

#python manage.py runfcgi socket=/tmp/python/python.sock maxrequests=1

当然也可以

#python manage.py runfcgi method=prefork host=127.0.0.1 port=9001

配置nginx.conf

server {

listen 80;

server_name www.server110.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的权限