PHP 在 Nginx + PHP-FPM 模式下:配置与特点
FastCGI (Nginx + PHP-FPM) 模式是性能最强的 PHP 运行模式,通常用于优化和提高网站的加载速度。
但是,在将网站切换到 PHP-FPM 模式时,您需要进行一些额外的配置:
- .htaccess 中的规则将失效:您需要将这些指令迁移到 Nginx 的配置文件中。为了简化此过程,您可以使用在线服务将 .htaccess 指令转换为 Nginx 格式。
- CMS 适配:如果您使用的是 CMS(内容管理系统),则需要修改配置文件。我们在下文中提供了针对 WordPress、Joomla、OpenCart 和 Bitrix 的配置建议。
将网站切换至 PHP-FPM
以下是将网站切换到 PHP-FPM 的步骤。前提是您的服务器已安装 Nginx。如果尚未安装,请执行以下操作:
- 在 “设置” — “软件配置” 中选择 “Web 服务器” 并点击 “修改”。
- 确保勾选了 Nginx 和 PHP-FPM FastCGI。
- 保存更改并等待安装完成。
- 首先,以 root 用户身份登录,在 “网站” 模块中确认网站当前使用的 PHP 版本及其 运行模式:
- 进入 “用户” 部分,选择目标用户并点击 “修改”。
- 在 “访问” 选项卡中,勾选 “可以使用 FastCGI (Nginx + PHP-FPM) 模式的 PHP”。
- 再次回到 “网站” 部分:
- 双击需要修改的网站。
- 在 “PHP 处理器” 选项卡中,选择 FastCGI (Nginx + PHP-FPM) 模式。
- 指定网站目前正在使用的 PHP 版本(参考第 1 步)。
- 检查网站页面是否正常运行。通常情况下,除了首页外,其他页面可能会出现 404 错误。如果发生这种情况,您需要进行额外的重定向设置。
- 在 “网站” 列表中,选中对应的域名,点击三个点图标打开更多选项,选择 “配置文件”。
- 根据您使用的 CMS,按照以下说明修改配置文件:
WordPress, Joomla
在配置文件中找到以以下代码开头的区块:
location / {
紧随该行之后,添加以下重定向规则:
try_files $uri $uri/ /index.php?q=$uri&$args;
OpenCart
在配置文件中找到以以下代码开头的区块:
location / {
紧随该行之后,添加以下重定向规则:
if (!-e $request_filename){
rewrite ^/(.+)$ /index.php?_route_=$1 last;
}
注意:如果您启用了 SSL,文件中会有两个 location 区块,您需要在这两个区块中都添加该重定向规则。
Bitrix (1C-Битрикс)
在配置文件中找到以下区块:
location @php {
在该区块下方(注意不是在该行内)插入以下重定向逻辑:
location ~* /\.ht {
deny all;
}
location ~ ^/(?!(\.well-known)) {
if (!-e $request_filename) {
rewrite ^(.*)$ /bitrix/urlrewrite.php last;
}
}
if (!-f $request_filename) {
rewrite ^(.*)/index.php$ $1/ redirect;
}
- 保存更改并检查网站各项功能是否恢复正常。