centos7 systemctl 添加 uwsgi(开机启动)

2023-02-18 15:56:34 浏览数 (1)

uwsgi 配置

代码语言:javascript复制
[uwsgi]
# 监听端口
socket = 127.0.0.1:9090
#socket = 127.0.0.1:3031

# 运行状态
#stats = 127.0.0.1:9191

# 工作路径
chdir = /root/yzq/djangos/blog

# django wsgi 路径
wsgi-file = /root/yzq/djangos/blog/joyoo/wsgi.py

# module = Joyo.settings

# python 虚拟环境路径
virtualenv = /root/.virtualenvs/joyoo

# uwsig pid 号
pidfile = /root/yzq/running/uwsgi_joyoo.pid

# 重启的时候使用的 pid 号
touch-reload = /root/yzq/running/uwsgi_joyoo.pid

# post 请求超过 字节 就缓存值磁盘
post-buffering = 8192

# 缓冲区大小
buffer-size = 32768

# 设置进程 processes 和 workers 一样的意思
# processes = 2
workers = 2

# 每个进场下面的线程数
threads = 4

# 未使用 systemd 时日志文件,会一直保持在后台,使用 docker 应该使用 logto
# daemonize = /root/yzq/logs/uwsgi_joyoo.log

# 使用 systemd 时 日志文件
logto = /root/yzq/logs/uwsgi_joyoo.log

# 设置平滑启动 (处理完接受到的请求) 的等待时间(秒)
reload-mercy = 10

# 设置工作进程使用虚拟内存超过 MB 就回收重启
reload-on-as = 1024

# python 文件修改后自动重启
py-autoreload = 1

# 设置一个请求超时(秒),就丢弃掉
harakiri = 60

# 当一个请求被 harakiri 掉,输出一条日志
harakiri-verbose = true

添加 uwsgi.service 启动文件

代码语言:javascript复制
sudo vim /etc/systemd/system/uwsgi.service
代码语言:javascript复制
[Unit]
Description=uwsgi
After=network.target

[Service]
Type=notify
ExecStart=/root/.virtualenvs/joyoo/bin/uwsgi --ini /root/yzq/djangos/blog/blog_uwsgi.ini
ExecReload=/root/.virtualenvs/joyoo/bin/uwsgi --reload /root/yzq/running/uwsgi_joyoo.pid
ExecStop=/root/.virtualenvs/joyoo/bin/uwsgi --stop /root/yzq/running/uwsgi_joyoo.pid
Restart=always

[Install]
WantedBy=multi-user.target

添加到服务

代码语言:javascript复制
# 重载系统服务,因添加了 uwsgi.server
sudo systemctl daemon-reload
# 启动 uwsgi
sudo systemctl start uwsgi
# 停止 uwsgi
sudo systemctl stop uwsgi
# 查看 uwsgi 状态
sudo systemctl status uwsgi
# 设置开机启动
sudo systemctl enable uwsgi
# 取消开机启动
sudo systemctl disable uwsgi

效果

0 人点赞