项目部署-uWSGI
一、WSGI定义
WSGl(Web Server Gateway Interface) Web服务器网关接口,是Python应用程序或框架和Web服务器之间的一种接口,被广泛使用- 使用 python manage. py runserver通常只在开发和测试环境中使用
当开发结束后,完善的项目代码需要在一个高效稳定的环境中运行,这时可以使用WSGI
二、uWSGI定义
uWSGI是WSGI的一种,它实现了http协议、WSGI协议以及uwsgi协议
uWSGI功能完善,支持协议众多,在 python web圈热度极高
- uWSGI主要以学习配置为主
三、配置uWSGI
添加配置文件项目同名文件夹/uwsgi.ini 如: mysite1/mysite1/uwsgi.i文件以[uwsgi]开头,有如下配置项: 套接字方式的IP地址:端口号【此模式需要有nginx】 [uwsgi] socket=127.0.0.1:8000 Http通信方式的IP地址: 端口号http=127.0.0.1:8000
- 项目当前工作目录
- chdir=/home/tarena. /my_project#项目绝对地址
- 项目中wsgp文件的目录,相对于当前工作目录
- wsgi-file=my_project/wsgi.py#相对上一个的地址
- 进程个数
- process=4
- 每个进程的
- 线程个数threads=2
- 服务的pid记录文件
- pidfile=uwsgi.pid
- 服务的目志文件位置
- daemonize=uwsgi.log
- 开启主进程管理模式
- master=true
特殊说明: DJango的 settings.py需要做如下配置
- 修改 settings. py.将 DEBUG=Tue改为 DEBUG= False
- 修改 settings. py将 ALLOWED HOSTS=[]改为 ALLOWED HOSTS=[网站域名]或者[服务监听的jp地址]
uwsgi运行
启动wsgi
cd到uWSG配置文件所在目录 uwsgi –ini uwsgi.ini停止 uwsgi
cd到uWSGI配置文件所在目录 uwsgi–stop uwsgi pid一些运行说明
- 无论是启动还是关闭,都需要执行ps auxlgrep uwsgi确认是否符合预期
- 启动成功后,进程在后台执行,所有日志均输出在配置文件所在目录的uwsgi.log中
- Django中代码有任何修改,需要重新启动uwsgi
Comments NOTHING