开发环境
云服务器(Ubuntu),能run的Django项目文件
知识补充
WSGI (Web Server Gateway Interface) Web服务器网关接口,是python应用程序或框架和web服务器之间的一种接口,被广泛使用。
uWSGI定义:uWSGI是WSGI的一种,它实现了http协议、WSGI协议以及uwsgi协议(在实际应用中主要以学习配置为主)
在开发和测试环境中使用python manage.py runserver 开发结束后,使用WSGI在一个高效稳定的环境中运行完善的项目代码
uWSGI安装
服务器中执行 pip3 install uwsgi 即可 检查是否安装成功 pip3 freeze | grep -i ‘uwsgi’ 如果成功安装的话,则会输出uWSGI版本;否则可能就是安装失败了,安装失败的原因可能是系统中没有gcc或者是gcc版本太高,详情请移步:pip安装uwsgi报错问题
配置uWSGI
下面是我自己的配置文件:
代码展示(可以直接拷贝)
[uwsgi]
http=0.0.0.0:8000
chdir=/home/wanghuimeng/python_SFTP/django_object/zy_ds_files/zy_ds
wsgi-file=zy_ds/wsgi.py
process=4
threads=2
pidfile=uwsgi.pid
daemonize=uwsgi.log
master=True
static-map = /static=/home/wanghuimeng/python_SFTP/django_object/zy_ds_files/zy_ds/static
特殊说明: Django的settings.py需要做如下配置: 1,修改settings.py将DEBUG=True改为False(出于安全考虑) 2,修改settings.py将ALLOWED_HOSTS=[]改为ALLOWED_HOSTS=[‘网站域名’]或者[‘公网IP’]
uWSGI的运行管理
启动uwsgi cd 到 uWSGI 配置文件所在目录 uwsgi --ini uwsgi.ini 如下:启动成功(图片来自于网上某位大佬)。
停止uwsgi cd 到 uWSGI 配置文件所在目录 uwsgi --stop uwsgi.pid 如下: 整个启动和停止过程都要拿ps亲眼看到才行
uWSGI的运行说明
1,无论是启动还是关闭,都要执行ps aux|grep ‘uwsgi’ 确认是否符合预期 2,当uwsgi启动后,当前django项目的程序已变成后台守护进程,在关闭当前终端时此进程也不会停止 3,启动成功后,进程在后台执行,所有日志均输出在配置文件所在目录的uwsgi.log中 4,Django中代码有任何修改,都需要重启uwsgi(重启即为先关闭,再开启)
|