nginx +uwsgi + django配置

Posted xqnq2007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx +uwsgi + django配置相关的知识,希望对你有一定的参考价值。

一 安装 nginx 

二 安装 uwsgi  ,pip install uwsgi

三 配置nginx

打开 nginx.conf文件,

location / {
# root html;
# index index.html index.htm;
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
}

相应位置如上配置,其中uwsgi_pass是用于nginx和uwsgi通信的端口,不可直接访问

四 建立测试文件test.py ,测试uwsgi是否正常运行

def application(env, start_response):   
          start_response(‘200 OK‘, [(‘Content-Type‘,‘text/html‘)])   
          return "Hello World"

然后进入test.py所在目录运行 uwsgi --http :8001 --wsgi-file test.py

访问网页:http://127.0.0.1:8001/看在网页上是否有Hello World

五 运行 uwsgi --socket 127.0.0.1:9000 --chdir /data/project/dj/ --wsgi-file dj/wsgi.py --master --processes 2 --threads 2

然后在浏览器输入localhost:8080 即可访问django页面,如果nginx端口是8080的话,

其中127.0.0.1:9000要和nginx配置文件中保持一致

也可建立 uwsgi.ini文件 ,将启动参数保存下来,直接用启动文件启动

在django工程(也可在其他目录,为方便管理)下建立uwsgi.ini文件,

文件内容如下:

[uwsgi]

socket = 127.0.0.1:9090
chdir = /Users/css/djangoprojects/chatbot1/
wsgi-file = chatbot1/wsgi.py
master = true
processes = 2
threads = 2
py-autoreload = 1

其中[uwsgi]也为文件内容,不可少,最后一行为保证uwsgi能实时检测python代码改动,不设置,则每次改动代码都要重启nginx,

配置完 ,使用uwsgi uwsgi.ini即可启动uwsgi访问django,前提是nginx已经启动,

关于 设置实时检测代码改动,也可用

uwsgi --reload uwsgi.pid

其中uwsgi.pid是进程的pid文件,这个方法本人并未实际测试。














以上是关于nginx +uwsgi + django配置的主要内容,如果未能解决你的问题,请参考以下文章

使用Nginx+uwsgi在亚马逊云服务器上部署python+django项目完整版——部署配置及相关知识

nginx +uwsgi + django配置

如何配置 uwsgi + nginx + Django + websocket?

阿里云 Centos7 部署 Django 项目

django+nginx+uwsgi的生产环境部署(Ubuntu16.04)

Python-Django Nginx+uwsgi 安装配置