网站本来是nginx + php-fpm socket的方式跑的,nginx是自己编译安装了。昨天尝试把网站加上https,就根据https://certbot.eff.org/里的指令进行操作。
操作过程中没有仔细查看每一步的提示,结果导致重新装了一个nginx,装好之后我把server配置移到新的nginx配置目录里,结果就出现了静态文件可以访问,php文件死活报404的问题。
最终发现是因为新装的nginx
是以用户www-data
运行的,而php-fpm
配置的用户是www
,所以php-fpm
的socket
所有者是www
用户。
这时候本该报502错误的,页面却是404。最后发现是因为没有修改nginx默认的error_page指令:
# 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错误的页面。
过程是曲折的,结果是美好的
All is well.
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。