linux下nginx异常启动自动拉起

本文详细解读了Debian系统中nginx.service文件的关键配置,重点讲解了如何通过systemd优雅停止和重启nginx,包括Type=forking的设置、KillMode=mixed的选择以及Restart策略。同时介绍了Exec系列命令在服务管理中的作用。
Llama Factory

Llama Factory

模型微调
LLama-Factory

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调

# /lib/systemd/system/nginx.service # Stop dance for nginx # ======================= # # ExecStop sends SIGSTOP (graceful stop) to the nginx process. # If, after 5s (--retry QUIT/5) nginx is still running, systemd takes control # and sends SIGTERM (fast shutdown) to the main process. # After another 5s (TimeoutStopSec=5), and if nginx is alive, systemd sends # SIGKILL to all the remaining processes in the process group (KillMode=mixed). # # nginx signals reference doc: # http://nginx.org/en/docs/control.html #

我使用的是debian系统,所以nginx.service文件放在了/etc/systemd/system/目录下面,nginx.service文件内容如下:

[Unit]


Description=A high performance web server and a reverse proxy server Documentation=man:nginx(8)

After=network.target

[Service]


Type=forking
Restart=on-failure

PIDFile=/run/nginx.pid

ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'

ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'

ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload

ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid TimeoutStopSec=5

KillMode=mixed
RemainAfterExit=no


[Install]


WantedBy=multi-user.target

其中有几个选项很重要

  • Type=forking,

Type的值有simple,oneshot,exec,对于nginx这种多进程模型,必须是forking,否则worker进程在启动时就起不来。

  • KillMode=mixed

KillMode的值有process,control-group,mixed,process只是把主进程给kill,不推荐;control-group,只要一个被kill,所有在control group的都被kill。mixed,给主进程发送SIGTERM信号,给其它进程发生SIGKILL信号。nginx需要用mixed

  • Restart

 这个选项就指定了什么情况下nginx进程被拉起,一般是on-failure

  • Exec系列

是service 命令对应执行的具体命令。

还有一些对于nginx不能配置的选项

GuessMainPID=no

参考资料

https://www.freedesktop.org/software/systemd/man/systemd.service.html

https://www.freedesktop.org/software/systemd/man/systemd.kill.html#

您可能感兴趣的与本文相关的镜像

Llama Factory

Llama Factory

模型微调
LLama-Factory

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值