httpd24-httpd-2.4.34-7
我正在RHEL 7.7 上运行配置为在启动时启动(通过 systemd)。最近我遇到了这个问题:
- 系统崩溃,
httpd.pid
文件完好无损 - 系统开始备份
httpd
启动失败,并显示如下消息:httpd-scl-wrapper[119625]:httpd(pid 1440)已经在运行
- 查找PID 1440,我发现它已被分配给不同的进程
- 所以,我需要在开始
httpd.pid
之前删除httpd
理想情况下,我们所有的服务都将在崩溃后重新启动,无需人工干预。有没有好的方法来避免/减轻这种情况?
答案1
(应奖励互联网积分对于评论中的这个答案.)
我们案例中的问题是我们PidFile
在外部设置了自定义位置/var/run
。我们的自定义位置不在tmpfs
文件系统上,这意味着我们的httpd.pid
自定义位置在崩溃并重新启动后将保持在原位。因此,解决方案是将 PID 文件存储/var/run
在系统启动时重建的位置。
笔记:我们http24-httpd
来自 RHSCL。默认情况下,进程似乎想要将其 PID 文件存储在/opt/rh/httpd24/root/var/run
其中不是看起来是tmpfs
。