本文实例讲述了uwsgi+nginx部署django项目操作。分享给大家供大家参考,具体如下:
uwsgi概述
uwsgi 是一个全功能的 http 服务器,可以把 http 协议转化成语言支持的网络协议。
安装uwsgi
使用pip安装即可
1
|
pip install uwsgi |
安装完成后可测试
1
2
3
4
|
#vim test.py def application(env, start_response): start_response( '200 ok' , [( 'content-type' , 'text/html' )]) return [b "hello world" ] |
然后运行:
1
|
uwsgi - - http : 9090 - - wsgi - file test.py |
现在访问 ip:9090,如果出现hello world说明安装成功
创建一个django项目
1
|
django - admin.py startproject hello |
然后你的目录是这样的
hello /
├── hello
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
确保django应用能正常启动
配置uwsgi.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#] vim /etc/uwsgi.ini #此文件可放在其它地方 [uwsgi] chdir = / work / hello / #项目目录 uid = root #可换成其它用户和组 gid = root module = hello.wsgi:application socket = / work / hello / uwsgi.sock master = true workers = 5 pidfile = / work / hello / uwsgi.pid vacuum = true thunder - lock = true enable - threads = true harakiri = 30 post - buffering = 4096 daemonize = / work / hello / uwsgi.log |
uwsgi相关命令
启动uwsgi:uwsgi --ini /path/uwsgi.ini
停止uwsgi:uwsgi --stop /path/uwsgi.pid
重新加载配置:uwsgi --reload /path/uwsgi.pid
nginx配置
1
2
3
4
5
6
7
8
9
10
11
|
server { listen 8080 ; location / static { alias / work / hello / static; #django project's static files } location / { include uwsgi_params; uwsgi_connect_timeout 30 ; uwsgi_pass unix: / work / hello / uwsgi.sock; } } |
先启动uwsgi,启动nginx,一个简单的nginx + uwsgi + django就完成了
希望本文所述对大家基于django框架的python程序设计有所帮助。
原文链接:https://blog.csdn.net/Yort2016/article/details/74377702