nginx forbidden 403:多进程下的子程序的用户和用户组指定

原创 2010年03月01日 16:34:00

在使用  nginx  和 spawn-fcgi 过程中

 

突然遇到问题

 

nginx  抛出了 forbidden 403

 

应该是权限问题。

 

我检查 nginx  error.log

 

发现  其中显示这样的信息

 

 

2010/03/01 12:07:15 [error] 2700#0: *93 "/usr/share/nginx/html/index.html" is forbidden (13: Permission denied), client: 192.168.1.60, server: 192.168.18.2, request: "GET / HTTP/1.1", host: "192.168.18.2"

 

就是说 nginx 访问 index.html 没有权限罗

 

我看下。 html根目录目前的权限是 

 

drwxrwx--- 4 root beihai365 4.0K Mar  1 06:44 /usr/share/nginx/html

 

看下 nginx 程序跑的是啥权限

 

ps aux | grep nginx

 

显示

 

root      2699  0.0  0.5   7828  1192 ?        Ss   09:48   0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx     2700  0.0  0.9   8124  2028 ?        S    09:48   0:00 nginx: worker process

 

显示的是主程序时 root 的 。 子程序时 nginx 用户

 

而  nginx 用户目前是属于  beihai365组的。 那为啥还有权限错误呢??

 

原来忽略了一个问题.

 

上面那个是 nginx 的 子进程 。   子进程 的  用户  和用户组,是在主进程中指定的。  估计其他有衍生进程的程序都是一样的道理

 

我们看下  nginx  ,他可以设置多进程。他是在 nginx.conf  里面指定  子进程的用户和用户组的

 

user

语法: user user [group]

缺省值: nobody nobody

指定Nginx Worker进程运行用户,默认是nobody帐号。

例如:

user www users;

而 spawn-fcgi 程序呢。 是在 启动 php-cgi 的时候指定的

我们看

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u nginx -g beihai365 -f /usr/bin/php-cgi



其实 -u nginx 这里可以去掉,经过测试, 单纯的 -u nginx 而不要 -g 参数的话,虽然 nginx 用户是属于 beihai365组的,但任然不能正常访问。


而去掉-u 只要 -g beihai365 的话,就会正常。





看nginx.conf


user nginx beihai365;


再看下, html根目录目前的权限是



drwxrwx--- 4 root beihai365 4.0K Mar  1 06:44 /usr/share/nginx/html






 

相关文章推荐

搭建windows+Nginx+PHP配置指南 以及 之后的问题解决

Ps:本文是安装了wamp后的操作。不过没安装也没事,本文也有一定的思路启迪。 本文重点讲Nginx+PHP搭建完毕遇到的问题,搭建其实很简单: 可以参考:http://www.cnblogs.c...

directory index of "/usr/share/nginx/html/" is forbidden

安装完nginx之后访问本机ip,结果直接报错,然后去查看nginx错误日志,看到如下错误信息,意思是html下面没有directory index of "/usr/share/nginx/html...

解决Nginx出现403 forbidden (13: Permission denied)报错的四种方法

虚拟机中通过yum安装nginx的,安装一切正常,但是访问时报403,nginx.config ps chmod reboot 于是查看nginx日志,路径为/var/log/nginx/error....

Nginx 出现 403 Forbidden 的解决办法

Nginx 也是当前流行的一款 轻量级服务器  在日常使用中呢 也会出现一些问题  今天 学习君 在安装配置Nginx的时候就出现了 403 Forbindden 的被禁止访问的错误   网上搜索之...

更改Nginx网站根目录以及导致的403 forbidden问题解决

一、更改根目录 Nginx默认网站根目录为/usr/local/nginx/html,要将它改成/home/fuxiao/www 更改方法: vi /usr/local/nginx...

Nginx 403 Forbidden错误的解决方法

今天在新的环境,重新搭建了项目组测试环境的nginx,来做负载和静态资源存储,结果所有的静态资源访问全是403 Forbidden,效果图如下: 我首先想到的是Linux服务器下,存...

<nginx.conf> nginx设置用户权限

问题在于,我们使用weblogic在前台系统获取其他系统的文件,然后保存在webloigc目录下,然后配置了nginx来当http服务器,这样,其他的系统可以来下载文件,但是访问的时候提示403错误,...

Nginx 权限问题

At my job we are moving to Nginx for the load balancing of our sites. Nginx is a very powerful load ...

NGINX 用户权限

有时候当Nginx读取本地目录时会收到403错误,权限问题。 先来了解一下Nginx的用户管理,Nginx在以Linux service脚本启动时,通过start-stop-domain启动,会以r...

linux下nginx默认使用www-data用户组

在配置nginx后新建php项目会发现即使是当前用户创建的文件也无法运行,原因是由于nginx的默认用户和用户组是www-data(在nginx.conf中配置)。这时需要我们对特定的文件进行拥有者修...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:nginx forbidden 403:多进程下的子程序的用户和用户组指定
举报原因:
原因补充:

(最多只允许输入30个字)