Django项目部署之uWSGI

uWSGI简介

要注意 WSGI / uwsgi / uWSGI 这三个概念的区分。

  • 1.WSGI是一种Web服务器网关接口。它是一个Web服务器(如nginx,uWSGI等服务器)与web应用(如用Flask框架写的程序)通信的一种规范。
  • uWSGI是实现了uwsgi和WSGI两种协议的Web服务器
  • uwsgi是一种线路协议而不是通信协议,在此常用于在uWSGI服务器与其他网络服务器的数据通信。

配置uWSGI之uwsgi.ini文件

添加配置文件 项目同名文件夹/uwsgi.ini。如:

/home/super/portrait/portrait/portrait.ini

文件以[uwsgi]开头,有如下配置项:

  • 套接字方式     IP地址:端口号 【此模型需要有nginx】
socket=127.0.0.1:8000
  • Http通信方式   IP地址:端口号
http=123.123.123.123:8000
  • 项目当前工作目录
chdir=/home/super/portrait
  • 项目中wsgi.py文件的目录,相对于当前工作目录
wsgi-file=portrait/wsgi.py
  • 服务的pid记录文件
pidfile=portrait_uwsgi.pid
  • 服务的日志文件位置

(这里做了两件事情,1.后台守护进程运行。2.所有的log输出到portrait_uwsgi.pid)

daemonize=portrait_uwsgi.log
  • 开启主进程管理模式
master=true

uwsgi.ini文件内容

[uwsgi]
http=123.123.123.123:8000
chdir=/home/super/portrait
wsgi-file=portrait/wsgi.py
process=4
threads=8
pidfile=portrait_uwsgi.pid
daemonize=portrait_uwsgi.log
master=true

配置uWSGIp之setting.py文件

  • 将DEBUG=True改为DEBUG=False,否在出错时浏览器里可以看到具体报错。
DEBUG = False
  • ALLOWED_HOSTS = []改为ALLOWED_HOSTS = ['123.123.123.123']其中123.123.123.123为服务器IP地址。
ALLOWED_HOSTS = ['123.123.123.123']

启动uWSGI

uwsgi --ini portrait.ini 

[super@XXXXXX portrait]$ uwsgi --ini portrait.ini 
[uWSGI] getting INI configuration from portrait.ini
[super@XXXXXX portrait]$ ps -ef | grep 'uswgi'
super     19704  19252  0 14:17 pts/0    00:00:00 grep --color=auto uswgi
[super@XXXXX portrait]$ ps -ef | grep 'uwsgi'
super     19554      1  0 14:15 ?        00:00:00 uwsgi --ini portrait.ini
super     19563  19554  0 14:15 ?        00:00:00 uwsgi --ini portrait.ini
super     19566  19554  0 14:15 ?        00:00:00 uwsgi --ini portrait.ini
super     19729  19252  0 14:17 pts/0    00:00:00 grep --color=auto uwsgi
[super@XXXXXXX portrait]$ ls

停止uWSGI

uwsgi --stop portrait_uwsgi.pid

[super@XXXXXX portrait]$ uwsgi --stop portrait_uwsgi.pid 
[super@XXXXXX portrait]$ ps -ef | grep 'uwsgi'
super     19984  19252  0 14:20 pts/0    00:00:00 grep --color=auto uwsgi

注意事项:

  1. 无论启动还是关闭,都有ps确认。
  2. 启动成功后,进程在后台执行,所有日志输出均在配置文件所在目录的portrait_uwsgi.log中。
  3. Django中代码有任何修改,需要重新启动uWSGI,runserver方式不需要重新启动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值