php - 为什么 PHP-FPM 需要 5 分钟才能在我的服务器上重新启动?

我正在使用默认设置的 PHP-FPM。我的服务器运行的是最新的 Arch Linux。

我发出命令 sudo systemctl restart php-fpm 需要五分钟才能重新启动并返回到提示符。

这个问题有已知的解决方案吗?

最佳答案

这是由 PHP-FPM 的 systemctl 脚本的创建方式引起的。我也有同样的问题。以下是我的解决方法。

首先找到你的启动脚本,如果你不知道你可以做 systemctl status php-fpm 你会看到像这样的东西:/etc/systemd/system/php.service

现在编辑这个文件,它应该是这样的:

[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=notify
PIDFile=/run/php-fpm/php-fpm.pid
PrivateTmp=true
ExecStart=/usr/bin/php-fpm --nodaemonize --pid /run/php-fpm/php-fpm.pid
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

改成这样:

[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
ExecStart=/usr/bin/php-fpm --nodaemonize
ExecReload=/bin/kill -HUP $MAINPID
Restart=always

[Install]
WantedBy=multi-user.target

一个文件被更改运行这个命令来刷新 systemctl -> systemctl daemon-reload

现在重新启动 FPM。我建议在更改此文件之前先关闭 FPM。完成更改后,FPM 将立即启动/停止/重新启动。

现在我还不知道为什么,但有时在我进行此更改后,FPM 似乎仍然需要很长时间才能启动/停止/重新启动。所以我只是继续并重新启动我的机器,从那时起它是即时的。所以我猜我还没有找到挂起的东西,但重新启动解决了这个问题。我知道您不必重新启动,但在我找到它的确切挂起位置之前,这暂时可以解决问题。

https://stackoverflow.com/questions/18992189/

相关文章:

ajax - 在参数字段 (ajax) 上写入参数 'value' 空值失败

python - 将 matplotlib 图导出到 HTML 文件

emacs - 如何使用预定义窗口启动 Emacs?

regex - 如何将 1100 行中的每 5 行合并为 1 行

JavaFX - 使用 CSS 为文本字段设置焦点边框

c# - ComboBox 向上/向下箭头键在项目重新填充后发出

animation - SVG 元素上的多个动画

scala - 运行 future n 次

.htaccess - 我如何使用 htaccess 在测试 wamp 服务器上重定向

integer - 有符号和无符号整数?