如上图一样,想必大家跟着http://www.runoob.com/linux/nginx-install-setup.html这个教程一顿猛的配置完nginx.conf后想打开访问一下,然后出现403的错误大失所望。

因为权限的问题user不设置的话默认是nobodu 需要  改为 user  root;即可

 

还有一种情况是改了root 都是不可以的,主要还是权限问题。这时候用ps -ef | grep nginx 检查下 worker process,可以看到worker process是这个nobody这个用户来启用的。但是我在nginx里面的nginx.conf里面已经添加user root了,为什么不变呢,直到看到https://zoroeye.iteye.com/blog/2166174 这位大神的文章

,里面说到nginx的用户管理:

1)Nginx在以Linux service脚本启动时,通过start-stop-domain启动,会以root权限运行daemon进程。 

(2)然后daemon进程读取/etc/nginx/nginx.conf文件中的user配置选项,默认这里的user=nobody,也就是用nobody用户启动worker process。403错误就是因为nobody用户没有权限访问我当前开发用的用户目录,/home/dean/work/resources。 

嗯,很清楚了,那就找到进程读取的那个nginx.conf 改下user配置 而我的路径是/usr/local/nginx/nginx.conf   ,进去看了下果然 user  这个配置选项给注释了(不配置默认为nobody)。改完后重启linux,测试下,已经可以正常访问

Logo

更多推荐