linux – 自动启动带有root选项的PHP-FPM

linux – 自动启动带有root选项的PHP-FPM,第1张

概述我试图让 PHP-FPM以root身份运行池,但我似乎无法调整init.d启动参数. 它从CLI启动PHP-FPM时起作用(使用sudo php-fpm7.0 -DRy /etc/php/7.0/fpm/php-fpm.conf,但我无法使用服务命令(sudo)服务php7.0-fpm(重新)启动.所以每次服务器重新启动时,PHP-FPM都会失败,我将不得不运行此命令. 我试图在/ etc / d 我试图让 PHP-FPM以root身份运行池,但我似乎无法调整init.d启动参数.

它从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脚本,但这种方法会花费我更多的时间.

解决方法 在systemd系统上,您可能必须通过systemd而不是system V init脚本来配置它

以下步骤经过测试并在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 = rootgroup = 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 PHProot     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 wwwroot     32064  0.0  0.0 221680  4992 ?        S    16:59   0:00 PHP-fpm: pool www
总结

以上是内存溢出为你收集整理的linux – 自动启动带有root选项的PHP-FPM全部内容,希望文章能够帮你解决linux – 自动启动带有root选项的PHP-FPM所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1033876.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存