文档章节

windows下使用nginx部署django程序

r
 ranvane
发布于 2014/11/13 00:28
字数 382
阅读 4408
收藏 3

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

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

© 著作权归作者所有

共有 人打赏支持
r
粉丝 9
博文 61
码字总数 24206
作品 0
兰州
私信 提问
加载中

评论(2)

测试-說不
测试-說不
在windows下已安装flup6。
执行命令python manage.py runfcgi method=threaded host=127.0.0.1 port=8051时,提示runfcgi未发现,manage.py help去查看确实没有runfcgi,,,你们怎么有的?我得时py36
zhangqunshi
zhangqunshi
在windows下uwsgi不能正确安装,只能使用其他类型的CGI程序。
这里使用flup软件,flup负责与nginx之间通过网络接口(TCP链接)进行通信。
并将HTTP请求发送给Django程序。对于python3使用如下面命令进行安装:
```cmd
pip install flup6
```
如果出现问题, 可以尝试使用pip install flup命令安装。
使用Nginx+uWSGI方法部署Django web程序

在上一篇文章《五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(上)》中,阐述了如何只使用uWSGI来部署Django程序。 当然,单单只有uWSGI是不够的,在实际的部署环境中,Nginx是必不可...

IamOkay
2016/04/16
87
0
django中使用日志文件记录信息

这两天一直在测试windows下nginx部署django程序,因为一些奇葩的问题,导致了部署不成功,而且不知道问题出在哪里,不得已,找了个django日志的配置文件修改、调试了一下,解决了问题。说起来...

ranvane
2014/11/13
0
0
Django之部署NGINX+uWSGI

参考地址:http://www.cnblogs.com/CongZhang/p/6548529.html http://www.cnblogs.com/alex3714/p/6538374.html http://uwsgi.readthedocs.io/en/latest/tutorials/Djangoandnginx.html ----......

LinQiH
2017/11/07
0
0
如何 Docker 化 Python Django 应用程序

Docker 是一个开源项目,为开发人员和系统管理员提供了一个开放平台,可以将应用程序构建、打包为一个轻量级容器,并在任何地方运行。Docker 会在软件容器中自动部署应用程序。 Django 是一个...

06%
09/12
0
0
Django + Uwsgi + Nginx 实现生产环境部署

今天老男孩IT教育Python教学导师吴sir带你用Django + Uwsgi + Nginx 实现生产环境部署 1、uwsgi 介绍 2、uwsgi安装使用 3、nginx安装配置 4、django with nginx 如何在生产上部署Django? Dja...

米斯特赛文
2017/04/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用 React 和 Vue 创建相同的应用,他们有什么差异?

在工作中应用 Vue 之后,我对它有了相当深刻的理解。 不过,俗话说「外国的月亮比较圆」,我好奇「外国的」 React 是怎么样的。 我阅读了 React 文档并观看了一些教程视频,虽然它们很棒,但...

阿K1225
9分钟前
0
0
如何使用Kubernetes的configmap通过环境变量注入到pod里

在Kubernetes官网里,有这样一篇文章,提到了Kubernetes里的一个最佳实践就是把应用代码同配置信息分开,一种方式就是使用Kubernetes 1.2里引入的configmap概念。 https://kubernetes.io/bl...

JerryWang_SAP
25分钟前
0
0
2天闭门培训|以太坊智能合约从入门到实战(北京)

2天培训 16个课时 探寻技术原理,精通以太坊智能合约开发 以太坊智能合约是现在应用的最广泛的区块链应用开发方式,HiBlock区块链社区针对以太坊智能合约的学习特别推出2天闭门研修班,通过2...

HiBlock
27分钟前
0
0
限定某个目录禁止解析php,限制user_agent,php相关配置

11月20日任务 11.28 限定某个目录禁止解析php 11.29 限制user_agent 11.30/11.31 php相关配置 1.限定某个目录禁止解析php 核心配置文件内容 <Directory /data/wwwroot/www.123.com/upload> p...

hhpuppy
38分钟前
2
0
Spring的好文章

孤傲苍狼 https://www.cnblogs.com/xdp-gacl/p/4249939.html 跟我学spring http://jinnianshilongnian.iteye.com/blog/1413846 SpringIoc 和Spring Aop 代理模式: 静态代理 动态代理 cglib代......

wangwei2134
49分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部