要在 CentOS 上为 PHP-FPM 设置运行用户,请按照以下步骤操作:
-
打开终端。
-
使用文本编辑器打开 PHP-FPM 配置文件。通常,该文件位于
/etc/php-fpm.d/www.conf或/etc/php-fpm.conf。在这个例子中,我们将使用/etc/php-fpm.d/www.conf。你可以使用你喜欢的文本编辑器,例如vi、nano或gedit。以下是使用vi编辑器的命令:
sudo vi /etc/php-fpm.d/www.conf
- 在配置文件中找到以下行:
;user = apache
;group = apache
这些行定义了 PHP-FPM 的运行用户和组。默认情况下,它们可能被注释掉(以分号开头)。
- 将这些行取消注释并更改为你想要的运行用户和组。例如,如果你想让 PHP-FPM 以
myuser用户和mygroup组运行,请将这些行更改为:
user = myuser
group = mygroup
确保你选择的用户和组在系统上存在。如果需要,你可以使用以下命令创建新用户和组:
sudo adduser myuser
sudo addgroup mygroup
sudo usermod -a -G mygroup myuser
-
保存更改并关闭文本编辑器。
-
重新启动 PHP-FPM 服务以应用更改:
sudo systemctl restart php-fpm
现在,PHP-FPM 应该以你在配置文件中指定的用户和组运行。
- (可选)如果你使用的是 Nginx,还需要更新 Nginx 配置文件(通常位于
/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf),以便 PHP-FPM 使用正确的用户和组。找到以下行:
location ~ \.php$ {
...
fastcgi_pass unix:/run/php-fpm/www.sock;
...
}
确保 fastcgi_pass 指向正确的 PHP-FPM socket 文件。然后,在 location 块之外,添加以下行:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REQUEST_SCHEME $scheme;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $host;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param REQUEST_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PHP_VALUE "error_log=/var/log/php-fpm/$host-error.log";
fastcgi_param PHP_ADMIN_VALUE "error_log=/var/log/php-fpm/$host-error.log"
这些参数将确保 Nginx 将请求正确传递给 PHP-FPM。
- 保存更改并重新启动 Nginx 服务:
sudo systemctl restart nginx
现在,PHP-FPM 应该以你在配置文件中指定的用户和组运行,并且 Nginx 也已更新以正确处理 PHP 请求。
以上就是关于“如何设置php-fpm在centos上的运行用户”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm