`
isiqi
  • 浏览: 16558724 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

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

阅读更多

在使用 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






分享到:
评论

相关推荐

    Linux 下 Nginx的安装:(解压,进入目录里面执行,./configure –-> make -> sudo make install)

    本篇文章将详细介绍如何在Linux系统下通过源码编译的方式安装Nginx,这个过程包括解压源码包、配置、编译以及安装等步骤。 首先,确保你的系统已经安装了必要的依赖包。在大多数Linux发行版中,安装这些依赖通常...

    Nginx服务器中403 forbidden的错误如何解决.docx

    在本文中,我们将详细探讨 Nginx 服务器中 403 Forbidden 错误的原因和解决方法。 403 Forbidden 错误的定义 403 Forbidden 错误是 HTTP 状态码之一,表示服务器拒绝了客户端的请求。这种错误并不是技术上的错误,...

    决战Nginx 技术卷:高性能Web服务器部署与运维.part3

    《决战Nginx技术卷:高性能Web服务器部署与运维(基于php、Java、...对于ASP.NET的用户来说,现在从Windows系统下向Linux系统迁移的用户很多,这就无疑会使用Mono,在本书中同样能够找到Mono的使用和迁移的解决方案。

    决战Nginx技术卷:高性能Web服务器部署与运维.pdf

    决战Nginx技术卷:高性能Web服务器部署与运维.pdf决战Nginx技术卷:高性能Web服务器部署与运维.pdf

    Nginx报403 forbidden错误 (13: Permission denied)的解决办法

    查看/var/log/nginx/error.log日志显示:xxx 403 forbidden (13: Permission denied)错误。我勒个去~ 引起nginx 403 forbidden通常是三种情况:一是缺少索引文件,二是权限问题,三是SELinux状态。 一、缺少index....

    Nginx解决403 forbidden的完整步骤

    Nginx启动时会使用指定的用户和组来运行工作进程。如果这些用户与实际拥有文件的用户不一致,可能会导致权限问题。你可以通过`ps aux | grep "nginx: worker process" | awk '{print $1}'`命令查看工作用户。若需...

    重启或杀掉Nginx进程后丢失nginx.pid的解决办法

    安装SSL证书时,强行杀掉了Nginx的进程,就再也没起来: Restarting nginx daemon: nginxcat: /usr/local/nginx/logs/nginx.pid: No such file or directorykill: usage: kill [-s sigspec | -n signum | -sigspec] ...

    决战Nginx: 系统卷 - 高性能Web服务器详解与运维.z01

    高性能Web服务器详解与运维》第一部分首先讲述了Nginx服务器的功能、模块管理和进程管理,然后讲述Nginx如何处理请求,在这个基础之上再认识Nginx提供的服务器的名字,Nginx服务器最大的焦点在于高并发和反向代理,...

    决战Nginx 技术卷:高性能Web服务器部署与运维.part2.rar

    《决战Nginx技术卷:高性能Web服务器部署与运维(基于php、Java、...对于ASP.NET的用户来说,现在从Windows系统下向Linux系统迁移的用户很多,这就无疑会使用Mono,在本书中同样能够找到Mono的使用和迁移的解决方案。

    Nginx 403 forbidden的解决办法

    这将把目录及其内容的所有权都更改为 `nginx_user` 用户和组。 **三、其他可能的原因与解决方案** 1. **Nginx配置错误**:检查Nginx的配置文件(通常位于 `/etc/nginx/nginx.conf` 或 `/etc/nginx/sites-enabled/...

    决战Nginx系统卷:高性能Web服务器详解与运维第二部分(保证能用)

    第2章 Nginx的模块管理和进程管理 第3章 Nginx如何处理一个请求 第4章 服务器名字 第5章 协助用户操作Nginx的工具 第6章 5XX错误处理 第7章 使用TCMalloc优化Nginx 第8章 PCRE正则表达式 第9章 Nginx高可用的...

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

    最近因为工作需要,要将Nginx网站根目录更改下,通过网上的一些教程更改后,但发现测试的时候一直提示403 forbidden错误,后台通过一个朋友的提示也解决了,所以现在将详细的步骤分享给大家,有需要的朋友们可以参考...

    从nginx角度看服务器多进程模型设计

    总结来说,从Nginx的角度看服务器多进程模型设计,我们能学到如何通过主工作进程结构实现高效的并发处理,理解非阻塞I/O和共享内存通信在提升性能中的作用,以及如何利用多进程来确保服务的稳定性和资源隔离。...

    Nginx 出现 403 Forbidden 最终解决方法

    在使用Nginx作为Web服务器时,有时用户可能会遇到403 Forbidden错误,这个错误表明服务器理解请求但拒绝执行。403错误通常与服务器配置或权限设置不当有关,本文将详细介绍解决Nginx 403 Forbidden错误的几个步骤。 ...

    开源电子书:Nginx 开发手册文档.pdf

    7. 结构与扩展:Nginx 采用主进程和多个工作进程的结构,工作进程是单线程的,且不需要特殊授权即可运行。 8. kqueue、epoll、rt signals、/dev/poll 和 select 支持:Nginx 支持多种事件机制,包括 kqueue、epoll、...

    nginx简单配置说明(开发人员了解)

    - **`pid`**:指定Nginx主进程ID文件的存放路径。 #### events块配置示例 events块配置影响Nginx处理网络连接的方式,例如: ```nginx events { # 设置网络连接序列化 accept_mutex on; # 设置一个进程是否...

    nginx 网站放在c://www//root

    Nginx (engine x) 是一个高性能的HTTP和反向...其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

    ingress-nginx-controller(含镜像和代码).rar

    《ingress-nginx-controller详解与实战指南》 ...通过理解其工作原理和配置方法,你可以更好地管理和扩展你的云原生应用程序。如果你想要深入了解,可以参考给定的博客链接,它会提供更具体的步骤和示例。

Global site tag (gtag.js) - Google Analytics