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