美文网首页
gunicorn 脚本启动,关闭,重启

gunicorn 脚本启动,关闭,重启

作者: 刹那的既视感 | 来源:发表于2021-11-18 17:51 被阅读0次

通过gunicorn产生的pid文件进行管理gunicorn进程,防止多个gunicorn项目时的混乱

gunicorn配置

# gunicorn.conf.py
import logging
import logging.handlers
from logging.hand   lers import WatchedFileHandler
import os
import multiprocessing

ROOT_PATH = os.path.dirname(os.path.abspath(__file__))
LOG_PATH = os.path.join(ROOT_PATH, 'log')

bind = '0.0.0.0:8111'  # 绑定ip和端口号
chdir = ROOT_PATH
timeout = 60  # 超时
worker_class = 'gevent'  # 使用gevent模式,还可以使用sync 模式,默认的是sync模式
daemon = True  # 是否后台运行
debug = False
workers = multiprocessing.cpu_count() * 2 + 1  # 进程数
threads = 2  # 指定每个进程开启的线程数
loglevel = 'info'  # 日志级别,这个日志级别指的是错误日志的级别,而访问日志的级别无法设置
pidfile = os.path.join(ROOT_PATH, "gunicorn.pid")  # 存放Gunicorn进程pid的位置,便于跟踪

access_log_format = '%(t)s %(p)s %(h)s "%(r)s" %(s)s %(L)s %(b)s %(f)s" "%(a)s"'  # 设置gunicorn访问日志格式,错误日志无法设置
accesslog = os.path.join(LOG_PATH, "gunicorn_access.log")  # 访问日志文件
errorlog = os.path.join(LOG_PATH, "gunicorn_error.log")  # 错误日志文件

启动脚本

#!/bin/sh
# 启动后创建gunicorn.pid文件
cd /path/to/project
gunicorn crawl_api:app -c gunicorn.conf.py

关闭脚本

#!/bin/sh
# gunicorn 关闭后不会自动删掉pid文件,这里自行删掉
cd /path/to/project
for id in `cat gunicorn.pid`;do
kill -9 $id
done
rm -f gunicorn.pid

重启脚本

#!/bin/sh
cd /path/to/project
for id in `cat gunicorn.pid`;do
kill -HUP $id
done

相关文章

网友评论

      本文标题:gunicorn 脚本启动,关闭,重启

      本文链接:https://www.haomeiwen.com/subject/ouqjtrtx.html