windows下使用nginx部署django程序

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

代码实在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

嫌麻烦可以写成批处理,运行的时候双击一下就好了。

转载于:https://my.oschina.net/ranvane/blog/343770

你可能感兴趣的:(windows下使用nginx部署django程序)