2020centos解决“nginx 403 Forbidden"错误的故事

最近折腾一个放在日本的vps,网速还可以,就是经常丢包。

原本配置了Nginx的做代理服务器,我想反正服务器空闲者,放点我自己的资料

配置了一个静态html文件,方便自己随时查看

结果,不停的修改nginx的配置文件,还是报同样的错误 nginx 403 Forbidden。

网上搜,都是说是改文件夹的权限

有更粗暴的用root作为启动用户,那真实饮鸩止渴,不要系统安全了

首先看nginx的用户 Ps aux | grep nginx

master 是root 用户,woker是nginx用户

我的文件放在,/home/bruce/html 目录下,我把html 改成755 ,修改用户和组

chown -R nginx html

chgrp -R nginx html

chmod -R 755 html

还是同样的禁止。

后来看一篇文章,说,需要整个路径都是nginx的才行,

这个是nginx出现403 forbidden最常见的原因。
为了保证文件能正确执行,nginx既需要文件的读权限,又需要文件所有父目录的可执行权限。
例如,当访问/usr/local/nginx/html/image.jpg时,nginx既需要image.jpg文件的可读权限,也需要/, /usr,/usr/local,/usr/local/nginx,/usr/local/nginx/html的可以执行权限。

解决办法: 设置所有父目录为755权限,设置文件为644权限可以避免权限不正确。

他的解决办法太麻烦,我直接新建了一个目录

mkdir -p /data/www/html

chown -R nginx /data

chgrp -R nginx /data

chmod -R 755 /data

修改nginx的配置文件,把虚拟主机的root 改成/data/www/html

nginx -t    #检测配置

nginx -s reload    #重启nginx

再访问,OK了,再也没有讨厌的403错误

总结:web文件,还是不要放再/home目录下面,放下/data/这样常用数据目录下面,修改用户权限更好用

原文地址:https://www.cnblogs.com/qumogu/p/12483592.html