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文件,这个方法本人并未实际测试。