本文实例讲述了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