Nginx 全局块配置 user 指令详解

1. 前言

user 指令用于配置运行 nginx 服务器的 worker 进程的用户和用户组,这样对于系统权限的访问控制更加精细和安全

如果你修改过 nginx.conf,那么就会看到文件第一行的 user 指令配置,默认是被注释掉的(默认使用 nobody 用户)

 
  1. # 查看 nginx.conf 前三行
  2. cat /usr/local/nginx/conf/nginx.conf | head -n 3

2. 配置文件

语法:

 
  1. # user_name 用户名
  2. # group_name 用户组(可省略,省略时使用和用户名名称相同的组,一般都会省略)
  3. user user_name [group_name];

接下来,我们通过 nginx.conf 配置文件指定 worker 进程的启动用户

第一步:创建 www 用户

 
  1. useradd www;

第二步:打开 nginx.conf,修改 user 指令配置

 
  1. # 去除 user 指令的注释,将 nobody 修改为 www
  2. vim /usr/local/nginx/conf/nginx.conf
  3. # 查看 nginx.conf 前三行,确认修改成功
  4. cat /usr/local/nginx/conf/nginx.conf | head -n 3
  5. # 重载配置
  6. /usr/local/nginx/sbin/nginx -s reload

第三步:创建 /root/html/index.html 页面,添加以下内容

 
  1. mkdir /root/html
  2. vim /root/html/index.html
 
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>欢迎使用 Nginx !</title>
  5. <meta charset="UTF-8">
  6. <style>
  7. body {
  8. width: 35em;
  9. margin: 0 auto;
  10. font-family: Tahoma, Verdana, Arial, sans-serif;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <h1>欢迎使用 Nginx !</h1>
  16. <p>如果您看到此页面,则表明 nginx web 服务器已成功安装并运行。</p>
  17. <p><em>感谢您使用 nginx。</em></p>
  18. </body>
  19. </html>

第四步:修改 nginx.conf,将默认的站点目录 html,修改为 /root/html

 
  1. location / {
  2. root /root/html;
  3. index index.html index.htm;
  4. }
 
  1. # 重载配置
  2. /usr/local/nginx/sbin/nginx -s reload

第五步:测试访问,发现 403 Forbidden 错误

这是因为 worker 进程的启动用户是 www,但是 www 用户没有访问 /root/html 目录的权限

第六步:将站点目录复制到 /home/www 下,这是 www 用户的家目录,当然是有权限的

 
  1. cp -r /root/html /home/www

修改 nginx.conf,将站点目录 /root/html,修改为 /home/www/html

 
  1. location / {
  2. root /home/www/html;
  3. index index.html index.htm;
  4. }
 
  1. # 重载配置
  2. /usr/local/nginx/sbin/nginx -s reload

再访问就发现可以正常显示了

3. 编译参数

user 指令也可以在编译的时候设置,如果配置文件和编译安装时都指定了该参数,生效的是配置文件中的配置

 
  1. ./configure --user=USER --group=GROUP

编译时即使指定了该参数,配置文件中的内容还是被注释掉的 nobody 用户,这是正常的

 
  1. # 参数配置
  2. ./configure --prefix=/usr/local/nginx --user=www
  3. # 查看配置文件内容和进程启动用户
  4. /usr/local/nginx/sbin/nginx -V
  5. cat /usr/local/nginx/conf/nginx.conf | head -n 3
  6. ps -ef | grep nginx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/483007.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《边缘计算:连接未来的智慧之桥》

随着物联网、5G等技术的快速发展&#xff0c;边缘计算作为一种新兴的计算模式&#xff0c;正逐渐引起人们的广泛关注。边缘计算通过将数据处理和存储功能放置在距离数据产生源头更近的位置&#xff0c;实现了更快速、更可靠的数据处理和交换&#xff0c;为各行各业带来了前所未…

镁光的sdram手册阅读--MT48LCC16M16A2

镁光的sdram手册阅读–MT48LCC16M16A2 一、这个sdram的总容量是256Mb&#xff0c;MT48LC16M16A2对应的参数是&#xff1a;4Meg 16 4banks&#xff0c;也可表示为16M16。4164256Mbit。 1&#xff09;其中&#xff0c;4Meg表示单个bank包含的存储单元个数&#xff0c;计算公式…

架构整洁之道-读书总结

1 概述 1.1 关于本书 《架构整洁之道》&#xff08;Clean Architecture: A Craftsman’s Guide to Software Structure and Design&#xff09;是由著名的软件工程师Robert C. Martin&#xff08;又称为Uncle Bob&#xff09;所著。这本书提供了软件开发和架构设计的指导原则…

查看文件信息:ls,pwd,操作文件:cd,touch,mkdir,rmdir,rm,cp,mv

目录 ls 选项 -l -a 隐藏文件存在的意义 -F -d -R pwd cd 选项 ​编辑 touch 选项 mkdir 选项 -p rmdir 选项 -p rm 选项 cp 选项 -r -R (和-r的区别) mv 移动目录 改名 选项 rm改为mv ls 显示当前目录下的文件 选项 (可以合并使用,有的也可以写…

linux centos 安装jenkins,并构建spring boot项目

首先安装jenkins&#xff0c;使用war包安装&#xff0c;比较简单&#xff0c;注意看下载的版本需要的JDK版本&#xff0c;官网下载https://www.jenkins.io/download/ 把下载好的war包放到服务器上&#xff0c;然后运行&#xff0c;注意8080端口的放行 # 前台运行并指定端口 ja…

目标检测的指标评估

目标检测模型的评价指标主要用于衡量模型的性能&#xff0c;特别是它在定位和识别目标方面的准确性。以下是一些常见的评价指标&#xff1a; 1. 精确度 (Precision): 表示检测到的目标中&#xff0c;正确检测到的目标所占的比例。精确度高意味着模型产生的误报&#xff08;错误…

rabbitmq 3.9.29 docker mac 管理员页面无法打开

SyntaxError: Unexpected token ‘catch’ SyntaxError: Unexpected token ‘catch’ at EJS.Compiler.compile (http://127.0.0.1:15672/js/ejs-1.0.min.js:1:6659) at new EJS (http://127.0.0.1:15672/js/ejs-1.0.min.js:1:1625) at format (http://127.0.0.1:15672/js/main…

图床项目实战:从零搭建一个简易图床

项目背景与需求分析 随着互联网的发展&#xff0c;图片分享、存储和管理的需求日益增长。图床作为一种专门用于存储和分享图片的服务&#xff0c;受到了广大用户的欢迎。本项目旨在搭建一个简易的图床系统&#xff0c;满足用户上传、查看和删除图片的基本需求。 技术选型 本项…

微光图像增强算法学习记录(一)

微光图像增强&#xff08;LLIE&#xff09;旨在恢复照明并提高微光图像的可见性&#xff0c;本文对阅读的文献进行记录和分享&#xff0c;帮助回顾和大家建立学习资料。 文献一摘要及前沿摘选主要贡献网络结构实验结论 文献二摘要 文献三摘要主要贡献网络架构实验 文献四摘要实…

AGV|机器人导航识别二维码视觉传感器TDCS-0100与上位机PLC联机实例说明

目前二维码视觉导航的AGV出货量非常大&#xff0c;几乎都是仓储型AGV使用的导航方式。在地面或者天花板等位置标贴二维码作为标记点&#xff0c;通过扫描读取二维码信息和二维码相对相机的角度来确定当前位置。 本文重点介绍AGV|机器人导航识别二维码视觉传感器TDCS-0100与上位…

linux下线程分离属性

linux下线程分离属性 一、线程的属性---分离属性二、线程属性设置2.1 线程创建前设置分离属性2.2 线程创建后设置分离属性 一、线程的属性—分离属性 什么是分离属性&#xff1f; 首先分离属性是线程的一个属性&#xff0c;有了分离属性的线程&#xff0c;不需要别的线程去接合…

测试ALPHA开发板CAN1的设备树文件

一. 简介 前面一篇文章学习了 ALPHA开发板上的 CAN接口的设备节点信息&#xff0c;文章如下&#xff1a; ALPHA开发板修改CAN的设备树节点信息-CSDN博客 本文对设备树文件进行测试&#xff0c;即开发板加载 .dtb设备树文件。 二. 加载测试 CAN的设备树文件 1. 拷贝设备树…

认识String类

认识String类 前面我们学习了类和对象&#xff0c;这一小节咱们来谈String类 目录 认识String类前言一、String类的创建方式二、String引用类型的特点及方法1.存储内容2.String对象的比较3.字符串查找在这里插入图片描述4.转换&#xff08;一&#xff09;数字转为为字符串&…

Swift 结构化并发之全局 Actor 趣谈

概览 在 Swift 结构化并发构成的体系中,一个称为“演员”(Actor)的成员扮演了非常重要的角色,它被用来隔离和同步执行中的数据。 除了普通 Actor 以外,还有一个全局“演员”(Global Actor)的概念,它是做什么的?又有什么与众不同的长处呢? 在本篇博文中,您将学到如…

【Swagger】接口文档生成

文章目录 一、前后端分离开发流程二、YApi导入接口文档三、Swagger3.1 介绍3.2 使用步骤3.2.1 导入 knife4j 的maven依赖3.2.2 在配置类中加入 knife4j 相关配置3.2.3 配置类中设置静态资源映射3.2.4 访问测试 3.3 常用注解3.4 全局参数设置 四、YApi 与 Swagger 一、前后端分离…

网络安全实训Day8

写在前面 网络工程终于讲完了。这星期到了网络安全技术部分。 网络安全实训-网络安全技术 网络安全概述 信息安全&#xff1a;所有保障计算机硬件、系统、软件、数据不因有意或无意的行为导致的服务中断、数据损坏或丢失等安全事件的保障技术 网络安全&#xff1a;基于计算机…

Spark Stage

Spark Stage 什么是Stage Spark中的一个Stage只不过是物理执行计划其中的一个步骤&#xff0c;它是物理执行计划的一个执行单元。一个Job会被拆分为多组Task&#xff0c;每组任务被称为一个Stage&#xff0c;可以简单理解为MapReduce里面的Map Stage&#xff0c; Reduce Stag…

Oracle 使用OGG(Oracle GoldenGate) 实现19c PDB与MySQL5.7 数据同步

OGG 是一种基于日志的结构化数据复制软件&#xff0c;它通过解析源数据库在线日志或归档日志获得数据的增删改变化。 OracleMysqlIP address192.168.80.100192.168.80.16DB version19.2.05.7host nametempmysql OS version&#xff1a; CentOS 7.9 一&#xff0c;Oracle 服务…

文件上传二—WEB攻防-PHP应用文件上传中间件CVE解析第三方编辑器已知CMS漏洞

演示案例&#xff1a; PHP-中间件-上传相关-Apache&NginxPHP-编辑器-上传相关-第三方处理引用PHP-CMS源码-上传相关-已知识别到利用 #PHP-中间件-上传相关-Apache&Nginx 复现漏洞环境&#xff1a;vulhub &#xff08;部署搭建看打包视频&#xff09; 由于PHP搭建常用中…

深度学习(过拟合 欠拟合)

过拟合&#xff1a; 深度学习模型由于其复杂性&#xff0c;往往容易出现过拟合的问题。以下是一些深度学习中常见的过拟合原因和解决方法&#xff1a; 1. 数据量不足&#xff1a;深度学习模型通常需要大量的数据来进行训练&#xff0c;如果数据量不足&#xff0c;模型容易过度…