Nginx 403 forbidden 错误的原因及解决方法
一、由于启动用户和nginx工作用户不一致所致
1.1查看nginx的启动用户,发现是nginx,而为是用root启动的
[root@iZwz96xkbmh1v1n08cvb5dZ /]# ps aux|grep nginx
root 2773 0.0 0.0 9068 844 ? Ss 13:56 0:00 nginx: master process /usr/sbin/nginx
nginx 2774 0.0 0.1 9476 2360 ? S 13:56 0:00 nginx: worker process
root 2916 0.0 0.0 221460 836 pts/0 R+ 13:59 0:00 grep --color=auto nginx
1.2将nginx.config的user改为和启动用户一致,
命令:vim etc/nginx.conf
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user root; //就是这里
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
1.3 也可以使用如下命令直接查看
ps aux|grep nginx
[root@iZwz96xkbmh1v1n08cvb5dZ nginx]# ps aux|grep nginx
root 2983 0.0 0.0 9068 848 ? Ss 14:02 0:00 nginx: master process /usr/sbin/nginx
root 2984 0.0 0.1 9476 2356 ? S 14:02 0:00 nginx: worker process
root 2986 0.0 0.0 221460 848 pts/0 R+ 14:02 0:00 grep --color=auto nginx
二、缺少index.html,就是配置文件中index index.html index.htm这行中的指定的文件。
server {
listen 80;
listen [::]:80;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
root /root/xiaoaodi/index/dist;
index index.html;
}
如果在/data/www/下面没有index.html的时候,直接文件,会报403 forbidden。
三、权限问题,如果nginx没有web目录的操作权限,也会出现403错误。
解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决
- chmod -R 777 /data
- chmod -R 777 /data/www/
[root@iZwz96xkbmh1v1n08cvb5dZ data]# chmod 777 www[root@iZwz96xkbmh1v1n08cvb5dZ data]# ls -ltotal 4drwxrwxrwx 3 root root 4096 Apr 1014:26 www
版权归原作者 看那年十七 所有, 如有侵权,请联系我们删除。