最近折腾一个放在日本的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/这样常用数据目录下面,修改用户权限更好用