笔者反复检查nginx配置,发现并没有问题,但是nginx日志大量报13:permission denied类型的错误,且前端报403 forbidden错,具体如下图:
这可能是每个初识nginx的人很容易踩到的坑,笔者这里总结了下,大至解决方法如下:
一、检查启动用户与nginx的工作用户是否一至;
1) 笔者的启动用户如图:
2) ps aux查看nginx的工作用户
由图可见笔者的启动用户为wifi, nginx的工作用户为www-data
3) 将nginx.conf的usr 改为与启动用户一至
Vim /etc/nginx/nginx.conf ,改成如下图:
二、检查nginx配置文件中是否缺少index.php 或者 index.html 文件
如上图:如果在这个root 的根目录下没有index index.html index.php index.htm这些文件的话会直接报403错误。
三、权限问题
如果nginx没有web目录,也就是笔者/data/htdocs这个目录没有操作权限的话也会报403
l 解决办法:修改web目录的读写权限
chmod -R 777 /data
Chmod -R 777 /data/htdocs
四、检查SELinux设置是否为开启状态(enabled)
1) 查看当前selinux的状态
当然这里笔者已经提前改过状态,之前的状态如下图:
2) 把SELINUX = permissive改为disabled
3) Reboot重启一下生效
注:该文章于作者编辑于2017年,如有更新之后欢迎指出