php-fpm更改用户无法创建pid和sock文件

php-fpm更改用户无法创建pid和sock文件

我想在我的 Ubuntu 工作站上使用不同的用户执行 php-fpm,因此我/etc/php5/fpm/pool.d根据找到的一些教程更改了文件:

user = myuser
group = myuser

但是当我尝试重新启动 php-fpm 服务时,它崩溃了,因为我的新用户没有权限创建 pid 和 sock 文件,因为只有 root 权限,/var/run所以这完全合理。但是能够在该文件夹下写入,并且它也没有任何特殊权限,所以我想我一定是错过了一些步骤。/var/runwww-data

您知道如何更改 php-fpm 的用户并确保它能够创建 pid 和 sock 文件吗?

注意:如果我需要更改初始化脚本,我必须说我不确定如何去做,如果能得到任何帮助我都会很感激。

答案1

php5-fpm实际上应该以 root 身份启动,并在设置和运行后放弃其权限。这在 Web 服务器中相当常见。这应该允许它写入 root 拥有的空间并更改其自己的文件。

我相信我的安装就是这样的。
那么问题来了:为什么你的安装不是这样呢?

您是否已将其随附的 Upstart 脚本更改为chuid?这会破坏它。这是我的/etc/init/php5-fpm.conf比较:

# php5-fpm - The PHP FastCGI Process Manager

description "The PHP FastCGI Process Manager"
author "Ondřej Surý <[email protected]>"

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

# you can uncomment this with recent upstart
# reload signal USR2

pre-start exec /usr/lib/php5/php5-fpm-checkconf

respawn
exec /usr/sbin/php5-fpm --nodaemonize --fpm-config /etc/php5/fpm/php-fpm.conf

相关内容