代码实在win下写的,索性就在win下使用nginx部署一下以作测试,不想问题出来了,一直提示400错误,好在经过一番周折解决了。现在就将这个纠结的过程分享一下:
环境:
django1.7
upupw集成包
1、首先应该改的地方,这个大家应该都知道:
DEBUG = TEMPLATE_DEBUG = False#将debug设置为False
2、改一下ALLOWED_HOSTS,我死死的就将这个给忘了,我的配置:
if DEBUG:#根据DEBUG来确定 ALLOWED_HOSTS = [""]else: ALLOWED_HOSTS = ["localhost","127.0.0.1"]
3、重头戏来了,配置nginx:
这里相关的代码网上很多,但是几乎都没有说明一件事:
配置location ~ ^/static/ 的位置,一定要在location ~ ^/的前面,而且不能单纯的使用 location /static/ 或者location /static ,不然,static文件夹中的静态文件都不能加载!!!
我的配置文件:
location ~ ^/static/ { root F:/develop/upupw/htdocs/gwdj; #Django项目所在目录,不能包含static文件夹 expires 30d; break; } location ~ ^/ { root F:/develop/upupw/htdocs/gwdj; #root html; index index.html index.htm; # host and port to fastcgi server fastcgi_pass 127.0.0.1:8051; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param QUERY_STRING $query_string; fastcgi_param SERVER_NAME $server_name; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_pass_header Authorization; fastcgi_intercept_errors off; }
ps:提起这个,慢慢的泪啊,就错在这里了。。。。。
5、运行
在django项目文件夹下运行:
python manage.py runfcgi method=threaded host=127.0.0.1 port=8051
嫌麻烦可以写成批处理,运行的时候双击一下就好了。