nginx进程所属用户问题讨论
结论
1,在非root账户下启动时,nignx的master和worker进程的用户都将是这个账户,
2,在root账户下启动时 nignx的master进程是用户是root,worker的用户在conf已配置用户的情况下,owner是配置的用户,否则将是nobody,而且也可能导致nginx的一些文件的owner也是nobody。
问题探讨
A主机安装NFS server,共享出来某些目录给B主机使用
A主机中的配置
/usr/local/nginx/html/ *(insecure,rw,sync,no_root_squash)
B主机安装有NFS clinet 和nginx,还有其他应用
B主机挂载A主机提供的共享目录
mount -t nfs -o nolock,vers=4 10.0.0.243:/usr/local/nginx/html/ /usr/java/tomcat-7.0.92/webapps/ROOT/kjactive/appimg
B主机安装的nginx,配置文件中关于用户的配置是注释状态
#user nobody;
进程用户如下:
root 12345 1 0 Jan17 ? 00:00:00 nginx: master process ./nginx
nobody 755782 12345 0 Jun23 ? 00:02:26 nginx: worker process
nobody 755783 12345 0 Jun23 ? 00:28:39 nginx: worker process
B主机上安装有后台应用,通过B主机上的nginx可以正常访问,然后在后台上传图片,实际存储到A主机的共享目录下,存储的图片权限是:
-rw-r----- 1 root root 21126 Jul 6 16:43 202107061643095807470.png
但是通过nginx却无法访问图片,提示:403 无权限
分析
使用root用户启动的nginx,但是nginx配置文件中关于user 的配置是注释状态,这样的情况正好对应开头的结论2。master进程的用户是root,但是worker进程用户是nobody,再联想到上传的图片权限是"-rw-r-----",那肯定就无法访问图片了。
解决办法也是根据结论2,修改nginx配置文件中关于user的配置,修改成:user root;,这样一来,master进程和worker进程的用户都是root,这样就能访问到图片了。
root 12345 1 0 Jan17 ? 00:00:00 nginx: master process ./nginx
root 605188 12345 0 16:50 ? 00:00:01 nginx: worker process
root 605189 12345 0 16:50 ? 00:00:00 nginx: worker process
nginx进程所属用户问题讨论的更多相关文章
- nginx进程属主问题讨论
文章作者:luxianghao 文章来源:http://www.cnblogs.com/luxianghao/p/6107096.html 转载请注明,谢谢合作. 免责声明:文章内容仅代表个人观点,如 ...
- Nginx-->基础-->理论-->nginx进程模型
一.nginx的进程模型基础 如上图,是nginx的基本进程模型. 1.nginx的master进程与worker进程关系 nginx的master进程负责worker进程的管理,包括创建worker ...
- 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级
1.启动nginx的方式: cd /usr/local/nginx ls ./nginx -c nginx.conf 2.查看nginx的进程方式: [root@localhost nginx] ...
- Linux下的进程类别(内核线程、轻量级进程和用户进程)--Linux进程的管理与调度(四)
本文中出现的,内核线程,轻量级进程,用户进程,用户线程等概念,如果不太熟悉, 可以参见 内核线程.轻量级进程.用户线程三种线程概念解惑(线程≠轻量级进程) Linux进程类别 虽然我们在区分Linux ...
- 转载:2.1 运行中的Nginx进程间的关系《深入理解Nginx》(陶辉)
原文:https://book.2cto.com/201304/19624.html 在正式提供服务的产品环境下,部署Nginx时都是使用一个master进程来管理多个worker进程,一般情况下,w ...
- 一次docker中的nginx进程响应慢问题定位记录
有个ft测试的环境,其中nginx使用docker发布的.测试用例是curl的时候,没有获得nginx的响应. docker ps CONTAINER ID IMAGE COMMAND CREATED ...
- 设置NGINX进程分配至多核CPU提升性能
Nginx 配置文件 nginx.conf 首先需要找到 Nginx 的配置文件 nginx.conf 才能进行下面的操作,在LNMP一键安装包默认配置下,nginx.conf 存放在/usr/loc ...
- Nginx学习——Nginx进程间的通信
nginx进程间的通信 进程间消息传递 共享内存 共享内存还是Linux下提供的最主要的进程间通信方式,它通过mmap和shmget系统调用在内存中创建了一块连续的线性地址空间,而通过munmap或者 ...
- 【Nginx】处理用户请求
实际处理请求的方法ngx_http_mytest_handler(在配置配置项的回调方法中被调用(用于解析配置项))将接收一个ngx_http_request_t类型的参数,返回一个ngx_int_t ...
随机推荐
- Redis基础课程讲义
Redis基础 课程内容 Redis入门 Redis数据类型 Redis常用命令 在Java中操作Redis 1. 前言 1.1 什么是Redis Redis是一个基于内存的key-value结构数据 ...
- 爬虫部署 Gerapy 安装(centos 8)演示
一.安装 pip3 install -U gerapy 使用python3.68版本安装gerapy,报错提示:ModuleNotFoundError: No module named 'setupt ...
- 基于gitlab 15.1 pages 搭建内部博客一定行版本
背景 基于 gitlab 15.1版 pages 搭建内部博客,参考官方文档,遇到一个又一个坑.之前看到别人吐槽说 gitlab 官方文档很差,我算是理解了.下面一个个说. 开始 按照官方文档的说法, ...
- linux常见命令chgrp/chown/chmod
linux文件权限有读(r-4)写(w-2)执行(x-1) linux文件的所有方式有拥有者(user),属组(group),其他人(others) 改变文件属组命令 -- chgrp 修改/data ...
- 题解【CodeForces 910A The Way to Home】
题目大意 一只青蛙现在在一个数轴上,它现在要从点 \(1\) 跳到点 \(n\) ,它每次可以向右跳不超过 \(d\) 个单位.比如,它可以从点 \(x\) 跳到点 \(x+a\)(\(1\le a\ ...
- mac 无任何来源选项
终端执行命令 sudo spctl --master-disable
- 喜讯:“行走的文档” 当选 Apache DolphinScheduler Committer啦
点击上方蓝字关注 Apache DolphinScheduler Apache DolphinScheduler(incubating),简称"DS", 中文名 "海豚调 ...
- SP104 Highways (矩阵树,高斯消元)
矩阵树定理裸题 //#include <iostream> #include <cstdio> #include <cstring> #include <al ...
- 基于EasyExcel实现的分页数据下载封装
功能概述 主要实现的功能: 1.分页查询,避免一次性查询全部数据加载到内存引起频繁FULL GC甚至OOM 2.当数据量超过单个工作簿最大行数(1048575)时,自动将数据写入新的工作簿 3.支持百 ...
- idea+SpringBoot使用过程中的问题集合
1.跨域访问外部接口? 使用Nginx代理(详细参见:https://www.cnblogs.com/ZhaoHS/p/16594619.html): 合并部署,统一从后端访问第三方接口(合并部署详见 ...