如何配置nginx+uwsgi+django

 我来答
小阿飞的小蜜蜂
2017-07-19 · TA获得超过454个赞
知道小有建树答主
回答量:222
采纳率:100%
帮助的人:231万
展开全部

1.安装uwsgi库

pip install uwsgi

2.django目录下建配置文件。

我的项目目录结构如下:


进入到apiManager(找项目中对应含有settings,urls)目录下,即含有wsgi.py的文件夹下,建一个djangoxxx_socket.xml文件。

我取名为djangomgr_socket.xml,命名随意。

djangomgr_socket.xml内容如下:

<uwsgi>
   <socket>:8999</socket>
   <chdir>/webroot/wjc/apimgr/</chdir>
    <module>wsgi</module>
   <processes>1</processes> <!-- 进程数 -->
    <daemonize>uwsgi.log</daemonize>
</uwsgi>

注意:

1. chdir路径到项目根目录下(含有manage.py的那个目录)

2. socket端口号为nginx中需要访问的端口号

3. daemonize为运行日志,不填路径时,默认会在与djangomgr_socket.xml同路径下生成一个uwsgi.log,当然也可以自己指定路径

3. 配置nginx

nginx配置如下,配置完后测试一下并重启nginx。

测试nginx:

命令:nginx -t  ——测试nginx配置文件是否有错

重启nginx:

命令:nginx -s reload(或 service nginx restart)

server {
   listen 80;
   server_name apimgr.myexist.cn;
   location / {        
           include uwsgi_params;
           uwsgi_pass 127.0.0.1:8999;
       }
       location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css|woff|ttf|otf|eot|svg|less|scss|flv|json|map|swf|ogg|mp3|wav|html|zip|rar)$
       {
           root /webroot/wjc/apimgr/apimgr/templates/;
           if (-f $request_filename) {
               expires max;
               break;
           }
       
        }
       access_log /var/log/nginx/myexist/apimgr.myexist.cn.access.log;
       error_log /var/log/nginx/myexist/apimgr.myexist.cn.error.log;
}

4. 启动服务:

在djangoxxx_socket.xml所在路径下:

执行命令:uwsgi -x djangoxxx_socket.xml

即可启动服务,并可以查看uwsgi.log中的启动日志

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式