nginx 403 forbidden 原来是因为这个!
这2天搞了配置比较搞但是价格很便宜的VPS跑一些东西,需要用到nginx。按照以前的经验一步步装好nginx并配置好nginx.conf。
路径经过自己反复确认,100%是对的,可访问一直报nginx 403 forbidden错误。
查来查去,也没找到原因。然后只好和之前的VPS nginx配置进行对比。发现之前的网站文件都是放到/www/下的,而这次文件是放在/root/www下。结合网上看到的解释,应该是这个问题了。
果断马上把文件一道/www/下,然后改nginx.conf配置,然后重启nginx。再yi访问,OK了。
导致该问题的最终原因确认如下
权限问题:nginx的启动用户默认是nginx的,所以对用户目录根本没有读的权限,这样就会报403错误了。
解决方案有3种:
- 把网站目录的权限改大;
- 放到用户目录以外;
- 把nginx的启动用户改成目录的所属用户。
最后,改完记得重启nginx
/usr/local/nginx/sbin/nginx #启动nginx
/usr/local/nginx/sbin/nginx -s stop #停止nginx