我想自动运行多个gunicorn服务器,每当我的系统重新启动或启动并且也在后台时,这些服务器通常是flask服务器
存在的问题
- 尽管我可以在手动启动系统服务时运行gunicorn服务器,但它只运行下面提到的第一个服务器,并且不会随后启动下一个服务
- 每当我重新启动或启动系统时,它都不会自动启动该服务
Start.sh
base_gunicorn=/X/Y/anaconda3/envs/msclone/bin/gunicorn
cd ${base_path}"/ms/some_service1/"
${base_gunicorn} -b 0.0.0.0:8000 -w 1 --log-file some_service1.log wsgi:app >/dev/null 2>&1 &
cd ${base_path}"/ms/some_service2/"
${base_gunicorn} -b 0.0.0.0:8001 -w 1 --log-file some_service2.log wsgi:app >/dev/null 2>&1 &
myservice.service
[Service]
ExecStart=/X/Y/start.sh
RestartSec=2
答案1
#gunicorn1.service [服务] 运行时目录=gunicorn1 用户=gunicorn 类型=简单 工作目录=/X/Y/anaconda3/envs/ms/some_service1/ ExecStart=/X/Y/anaconda3/envs/msclone/bin/gunicorn -b 0.0.0.0:8000 -w 1 wsgi:app 重启秒=2
#gunicorn2.service [服务] 运行时目录=gunicorn2 用户=gunicorn 类型=简单 工作目录=/X/Y/anaconda3/envs/ms/some_service2/ ExecStart=/X/Y/anaconda3/envs/msclone/bin/gunicorn -b 0.0.0.0:8001 -w 1 wsgi:app 重启秒=2
根据 doco 创建适当的套接字单元。Wanted-By=
将允许启用/禁用这些功能的放置在[install]
插座单元部分中。这是插座单元需要自动启动,而不是服务单元——再次按照 doco。
进一步阅读
- 乔纳森·德博因·波拉德 (2016)。 ”如果您有两个服务,请定义两个服务。”。
systemd
恐怖之屋。常见答案。 - http://docs.gunicorn.org/en/stable/deploy.html#systemd