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






 

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Nginx 权限问题

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

SOCKET,TCP/UDP,HTTP,FTP

SOCKET,TCP/UDP,HTTP,FTP   (一)TCP/UDP,SOCKET,HTTP,FTP简析   TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

nginx location匹配

例1、nginx配置: 例2、nginx  配置: 例3、nginx配置:

nginx “403 Forbidden” 错误的原因及解决办法

nginx 的 403 Forbidden errors 表示你在请求一个资源文件但是nginx不允许你查看。 403 Forbidden 只是一个HTTP状态码,像404,200一样不是技术上...

nginx 403

坑死了,在docker里配置了一个web项目,使用nginx,本地浏览器正常访问,可是当我改一段代码就直接报错,最后发现我在本机加一个空格,去浏览器就一允许久保错。我的天啊,实在受不了,初步估计本机字...

spring mvc 创建 rest api

环境搭建 常用搭建rest api方式有两种: 利用ContentNegotiatingViewResolver利用ResponseBody 和Http信息转换器。 我采用第二种方式,因为它将控...

使用spring websocket 和stomp实现消息功能

实现一个消息驱动pojo public class MarcHandler extends AbstractWebSocketHandler{ private Logger LOGGER = ...

nginx 出现403 Forbidden 解决方法

给nginx添加了一个location: location /tmp/ { alias /home/trb/DO/tmp/; allow all; } sudo nginx -...

java中取得文件夹中所有文件的名字

File[] insideFolderApk = file.listFiles(); for (int i = 0; i < insideFolderApk.length; i++) { ...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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