在Ubuntu Server上重新启动后,将删除PHP 5 FPM套接字文件的目录

前端之家收集整理的这篇文章主要介绍了在Ubuntu Server上重新启动后,将删除PHP 5 FPM套接字文件的目录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经创建了一个目录来存储 PHP 5 FPM的套接字​​文件:sudo mkdir / var / run / PHP-fpm.它由root:root以及核心PHP FPM进程拥有.

PHP FPM启动时,它会为此目录中的每个池创建套接文件,Nginx使用它们进行通信.

但是,当我重新启动我的机器(sudo reboot)时,此目录在重新启动后消失,并且PHP FPM无法启动,导致它无法在丢失的目录中创建套接文件.

可能是什么问题?我该如何调试呢?

我正在使用最新的Ubuntu Server 14.04.

当前版本的Ubuntu正在使用所谓的up-start configs来运行服务.有关此产品的更多信息,请访问 here.

所有上行脚本都位于/ etc / init目录中.不要将它与/etc/init.d目录中的旧init脚本混淆.

正如@Rhim在他的回答中所说,/ var / run是一个临时挂载的文件系统,每次重启后都会重新创建,因此不会保留更改.因此,为了拥有套接文件自定义目录,您必须每次都创建它.添加此类功能的最佳位置是位于以下位置的PHP FPM的upstart配置:/etc/init/PHP5-fpm.conf.

这是此配置的修改版本:

# PHP5-fpm - The PHP FastCGI Process Manager

description "The PHP FastCGI Process Manager"
author "Ondřej Surý <ondrej@debian.org>"

start on runlevel [2345]
stop on runlevel [016]

# Precise upstart does not support reload signal,and thus rejects the
# job. We'd rather start the daemon,instead of forcing users to
# reboot https://bugs.launchpad.net/ubuntu/+source/PHP5/+bug/1272788
#
# reload signal USR2

pre-start script
    mkdir -p /var/run/PHP-fpm
    /usr/lib/PHP5/PHP5-fpm-checkconf
end script

respawn
exec /usr/sbin/PHP5-fpm --nodaemonize --fpm-config /etc/PHP5/fpm/PHP-fpm.conf

pre-start stanza已用于检查PHP FPM配置文件,因此我将其转换为脚本部分并添加了我自己的命令,用于在调用checkconf之前创建socket文件的目录.

使用此脚本它应该可以正常工作.为了控制服务的状态,使用如下服务命令:service PHP5-fpm start,service PHP5-fpm restart等.

我希望它会帮助某人.干杯!

原文链接:https://www.f2er.com/ubuntu/347622.html

猜你在找的Ubuntu相关文章