前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx+PHP php文件404错误的一个可能原因

Nginx+PHP php文件404错误的一个可能原因

原创
作者头像
俗可耐
发布2018-08-02 10:25:11
3.8K0
发布2018-08-02 10:25:11
举报
文章被收录于专栏:俗人笔记

前情提要

网站本来是nginx + php-fpm socket的方式跑的,nginx是自己编译安装了。昨天尝试把网站加上https,就根据https://certbot.eff.org/里的指令进行操作。

操作过程中没有仔细查看每一步的提示,结果导致重新装了一个nginx,装好之后我把server配置移到新的nginx配置目录里,结果就出现了静态文件可以访问,php文件死活报404的问题。

原因

最终发现是因为新装的nginx是以用户www-data运行的,而php-fpm配置的用户是www,所以php-fpmsocket所有者是www用户。

这时候本该报502错误的,页面却是404。最后发现是因为没有修改nginx默认的error_page指令:

代码语言:txt
复制
# redirect server error pages to the static page /50x.html
#   
error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   html;
}

由于不存在50x.html文件,所以页面显示的404错误的页面。

解决

过程是曲折的,结果是美好的

  1. 修改50x错误页面的正确root地址
  2. 修改nginx的运行用户为www,重启nginx

All is well.

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前情提要
  • 原因
  • 解决
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档