django默认是wsgi启动,不能利用到多核执行效率很低,通过uwsgi来解决这个问题。
python虚拟环境安装配置:
https://www.cnblogs.com/zezhou/p/14509198.html
python虚拟环境使用操作:
https://www.cnblogs.com/zezhou/p/14509203.html
安装uwsgi:
1. 现需要进入虚拟环境中,因为要在虚拟环境中运行项目
workon 环境名称
2. 安装
pip3 install -i https://pypi.douban.com/simple uwsgi
uwsgi.ini配置
// 在项目根目录下新建文件uwsgi.ini,log目录
[uwsgi] ; 项目所在目录,和manage.py同级 chdir = /project/contract_manager/ ; 监听的端口,当没有nginx时候使用这个 http = 0.0.0.0:8000 ; 代理静态资源:路径映射,没nginx时候要配置的 static-map = /static= static/ ; 指定和nginx进行套接字通信的方式:端口或文件 ; socket = 127.0.0.1:8000 ; socket = ./contract_manager.sock ; python虚拟环境所在目录 home=/env/python/contract_manager PYTHONHOME = /env/python/contract_manager/bin/ ; 主应用中的wsgi文件 wsgi-file = contract_manager/wsgi.py ; 启动一个master进程,来管理其余的子进程 master=True ;开俩进程 processes = 2 ;开四个线程 threads = 4 ; 保存主进程的pid,用来控制uwsgi服务 pidfile=./uwsgi.pid ; 启动项目 uwsgi uwsgi.ini ; uwsgi --stop/reload xxx.pid 停止/重启uwsgi ; django的运行日志保存的文件路径 daemonize=./log/uwsgi.log ; 设置每个工作进程处理请求的上限,达到上限时,将回收(重启)该进程。可以预防内存泄漏 max-requests=5000 ; 服务停止时自动移除unix Socket和pid文件 vacuum=true
uwsgi命令:
// 切换至项目根目录下或者全路径
uwsgi --ini ./uwsgi.ini # uwsgi启动jdango项目
uwsgi --stop ./uwsgi.pid # 停掉项目
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:django使用uwsgi启动 - Python技术站