29、Django-uWSGI项目部署
WSGI(Web Server Gateway Interface)Web服务器网关接口、是Python应用程序或框架和Web服务器之间的一种接口、被广泛使用
使用python manage.py runserver 通常只是再开发测试环境中使用
当开发结束后、完善的项目代码需要在一个高效稳定的环境中运行、这时可以使用WSGI
这里WSGI起着连接runserver和django作用
django只认识WSGI、而runserver把http或https的请求协议转为WSGI规范发给django
uWSGI:是WSGI的一种、它实现了http协议、WSGI协议、uwsgi协议(二进制)、uWSGI功能完善、支持协议众多
-- 主要以学习配置为主
1、安装uWSGI:(不支持window版本)
-- pip3 install uwsgi==2.0.18
2、配置
-- 添加配置文件(与setting.py同一个目录):myproject/myproject/uwsgi.ini
-- socket和http二选一
-----------------------------------------------------------------
[uwsgi]
socket = 127.0.0.1:8000 #套接字方式【此模式需要有nginx】
http = 127.0.0.1:8000 #http通讯方式的ip地址:端口
chdir/home/tarena/..../my_project #项目当前的工作目录
wsgi-file = my_project/wsgi.py #项目一中wsgi.py文件的目录
process = 4 #进程个数
threads = 2 #每个进程的线程个数
pidfile=uwsgi.pid #pid文件存放路径
daemonize=uwsgi.log #后台启动守护进程、且日志文件存放路径
master=true #启用主进程
------------------------------------------------------------------
3、修改setting.py
-- 将DEBUG=True改为False
-- ALLOWED_HOSTS = [网站域名]或者[服务器监控的ip端口]
4、启动uwsgi
-- cd 到uWSGI所在的目录
-- 执行:开启uwsgi
-- uwsgi --ini uwsgi.ini
5、访问:127.0.0.1:8000
-- 停止:
-- uwsgi --stop uwsgi.pid