You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plesk18环境下如何配置Apache/Nginx让PHP-FPM执行无后缀PHP文件

问题根因

你当前配置失效的核心原因是用了全局无效的PHP-FPM sock路径,Plesk为每个站点的PHP-FPM池分配了独立的sock文件,并非使用全局的/run/plesk/php-fpm.sock。

配置步骤

1. 先获取对应站点的PHP-FPM sock真实路径

执行命令查看PHP7.1 FPM的池配置文件,找到你站点对应的sock路径:

grep -r "listen =" /opt/plesk/php/7.1/etc/php-fpm.d/

返回结果格式类似如下,其中/var/www/vhosts/system/my-site.com/php-fpm.sock就是你站点对应的真实sock路径:

/opt/plesk/php/7.1/etc/php-fpm.d/plesk-service.localdomain.conf:listen = /var/www/vhosts/system/my-site.com/php-fpm.sock

2. 修改Apache配置(替换原有无效的SetHandler规则)

登录Plesk后台,进入对应站点的「Apache与Nginx设置」,在「附加Apache指令」的HTTP和HTTPS框中都填入以下配置,注意替换为你刚才查到的真实sock路径:

<Directory /var/www/vhosts/my-site.com/web>
    <Files "corporate">
        SetHandler proxy:unix:///var/www/vhosts/system/my-site.com/php-fpm.sock|fcgi://127.0.0.1
    </Files>
    # 其他需要特殊处理的文件也可以按照这个格式添加
    <Files ~ "(store|pchart\.png|returns)">
        SetHandler proxy:unix:///var/www/vhosts/system/my-site.com/php-fpm.sock|fcgi://127.0.0.1
    </Files>
</Directory>

注意:fcgi://后面不需要加端口,直接写127.0.0.1即可,端口配置会自动匹配FPM池的参数

3. 配置Nginx兼容规则(如果Nginx处理静态文件时拦截了无后缀请求)

同样在站点的「Apache与Nginx设置」页面,找到「附加Nginx指令」框,填入以下配置,避免Nginx直接将无后缀文件作为静态文件返回:

location ~ ^/(corporate|store|pchart\.png|returns)$ {
    proxy_pass https://apache_backend;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

同时取消勾选「以Nginx作为代理提供静态文件」选项中包含无后缀文件的规则,或者添加上述文件到静态文件排除列表。

4. 验证配置生效

保存配置后,Plesk会自动重启Apache和Nginx服务,访问http://my_site.com/corporate即可看到测试输出内容。如果还有报错,检查站点目录的权限,确保corporate文件的所有者和组是站点对应的系统用户,权限设置为644即可。

内容的提问来源于stack exchange,提问作者JBH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 05:00:03