uwsgi部署django项目一
程序员文章站
2022-06-06 19:56:05
...
# django的程序通常使用uwsgi服务器来运行
# 1 安装对应虚拟环境
pip3 install uwsgi
# 2 在项目目录下创建uwsgi配置文件 uwsgi.ini
[uwsgi]
#使用nginx连接时使用,Django程序所在服务器地址
socket=192.168.229.133:8001
# socket=/workspace/django_project/dp_api/script/uwsgi.sock 未测
#直接做web服务器使用,Django程序所在服务器地址
#http=192.168.229.133:8001 http与socket用一个
#项目目录
chdir=/home/python/Desktop/django_project/project
#项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=项目中/wsgi.py
# 进程数
processes=4
# 线程数
threads=2
# uwsgi服务器的角色 uwsgi做主进程,关闭该进程其他相关进程也会被杀掉
master=True
# 存放进程编号的文件
pidfile=uwsgi.pid
# pidfile=/workspace/django_project/dp_api/script/uwsgi.pid 未测
# 日志文件,uwsgi可以脱离终端在后台运行,日志看不见。runserver是依赖终端的
daemonize=uwsgi.log
# 指定依赖的虚拟环境
virtualenv=/home/python/.virtualenvs/django_2.2_env
# 指定python环境路径
pythonpath=/home/python/.virtualenvs/django_2.2_env/lib/python/site-packages
二者选一
# pythonpath=/home/python/.virtualenvs/django_2.2_env/bin
"""
常用选项
http: 协议类型和端口号
processes: 开启的进程数量
workers: 开启的进程数量,等同于 processes
chdir: 指定运行目录
wsgi-file: 载入 wsgi-file
stats: 在指定的地址上,开启状态服务
threads: 运行线程。由于 GIL 的存在,我觉得这个真心没啥用。
master: 允许主进程存在
daemonize: 使进程在后台运行,并将日志打到指定的日志文件或者 udp 服务器(daemonize uWSGI)。实际上最常用的,还是把运行记录输出到一个本地文件上。
pidfile: 指定pid文件的位置,记录主进程的pid号。
vacuum: 当服务器退出的时候自动清理环境,删除 unix socket 文件和 pid 文件
static-map:前后端分离,这里没有静态文件,部署在ngninx路径中,所以注释掉
module:项目文件.ws:application
"""