它从CLI启动PHP-FPM时起作用(使用sudo php-fpm7.0 -DRy /etc/php/7.0/fpm/php-fpm.conf,但我无法使用服务命令(sudo)服务php7.0-fpm(重新)启动.所以每次服务器重新启动时,PHP-FPM都会失败,我将不得不运行此命令.
我试图在/ etc / default中放置一个文件“php-fpm7.0”,行DAEMON_ARGS =“ – daemonize –fpm-config $CONFFILE -R”,我甚至尝试将-R参数添加到直接在/etc/init.d/php7.0-fpm中执行do_start函数,但是我一直得到请指定除root错误之外的用户和组.
有什么方法可以让我在启动和服务命令上工作吗?
关闭主题:我知道所有的风险,我知道为什么我不应该这样做,但无论如何我想要.我需要运行一些脚本来创建目录,执行chown命令等.池将专用于nginx服务器块使用的后端,只能在一个特定的URL路径上从私有192.168.1.X网络中访问.
作为替代方案,我可以设置一个以root身份执行PHP脚本的cron脚本,但这种方法会花费我更多的时间.
解决方法
以下步骤经过测试并在Ubuntu 16.04 LTS上运行.这是重定向的init脚本的罪魁祸首:
/lib/lsb/init-functions.d/40-systemd
1.编辑php-fpm池配置,例如/etc/php/7.0/fpm/pool.d/www.conf并以root身份将root配置为用户/组
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set,the default user's group ; will be used. user = root group = root
2.编辑/lib/systemd/system/php7.0-fpm.service并将-R附加到ExecStart变量以允许服务以root身份运行
ExecStart=/usr/sbin/php-fpm7.0 --nodaemonize --fpm-config /etc/php/7.0/fpm/php-fpm.conf -R
3.重新加载配置
$systemctl daemon-reload
4.启动服务
$systemctl start php7.0-fpm
5.检查出来
$ps auwx | grep php root 32061 0.0 0.0 221680 26084 ? Ss 16:59 0:00 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf) root 32063 0.0 0.0 221680 4992 ? S 16:59 0:00 php-fpm: pool www root 32064 0.0 0.0 221680 4992 ? S 16:59 0:00 php-fpm: pool www
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。