如何在 Fedora 40 或 39 上为 PHP-FPM 配置 Nginx

在 Fedora 40 或 39 上配置 Nginx 与 PHP-FPM 配合使用对于设置能够处理动态 PHP 内容的高性能服务器至关重要。Nginx 擅长高效地提供静态内容,而 PHP-FPM 管理 PHP 进程,优化 PHP 脚本的执行。但是,默认情况下,PHP-FPM 服务在“apache”用户下运行,这与 Nginx 不兼容。因此,有必要调整 PHP-FPM 配置以确保它与 Nginx 正确配合使用。

本指南将引导您完成配置 Nginx 以在 Fedora 40 或 39 上与 PHP-FPM 无缝协作的步骤,包括对 PHP-FPM 配置进行必要的调整。在本指南结束时,您的服务器将准备好高效地为基于 PHP 的网站提供服务。

打开 www.conf 配置文件

首先,使用以下命令打开配置文件(www.conf):

sudo nano /etc/php-fpm.d/www.conf

打开配置文件并将(Apache)用户和组替换为(Nginx)用户和组,如下图所示:

如上所述,找到包含“apache”的“用户”和“组”,现在将其更改为“nginx”,如下所示:

按(CTRL+O)保存,然后按(CTRL+X)退出。

进行必要的调整,然后重新启动 PHP-FPM 服务。

sudo systemctl restart php-fpm

示例 Nginx PHP-FPM 服务器块代码

要使用 Nginx 处理 PHP 文件,您必须配置服务器块,如下例所示。对所有管理 PHP 文件的 server{} 块使用此示例,并确保在配置中包含“location ~ .php$.”

仅举例:

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index   index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

为了验证对前面的代码所做的更改不会导致任何错误,可以使用以下命令来测试 Nginx 配置。

sudo nginx -t

示例输出:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

要完成 PHP-FPM 设置,请重新启动 Nginx 服务。

sudo systemctl restart nginx

结论

通过在 Fedora 上配置 Nginx 与 PHP-FPM 配合使用,您创建了一个高效且可扩展的 Web 服务器环境,能够精确处理动态内容。调整 PHP-FPM 配置以在适当的用户下运行是确保与 Nginx 的兼容性和安全性的关键步骤。要维护此设置,请定期监控服务器性能并根据需要对 Nginx 和 PHP-FPM 进行更新。适当的维护将确保您的服务器保持安全、高效,并能够处理增加的流量和需求。

Joshua James
跟我来
Joshua James 的最新帖子 (查看全部)

发表评论