Nginx主配置文件---Nginx.conf

news2024/10/7 18:20:28

nginx主配置文件的模块介绍

全局块
全局块是配置文件从开始到 events 块之间的部分,其中指令的作用域是 Nginx 服务器全局。主要指令包括:

user:指定可以运行 Nginx 服务的用户和用户组,只能在全局块配置。例如:user nobody; 表示使用 nobody 用户运行 Nginx 服务。

worker_processes:指定工作线程数,可以设定具体的进程数,也可使用自动模式(如worker_processes auto; )。一般设为与 CPU 数量相同或 2 倍于 CPU 数量。
pid:指定进程 pid 文件存放的路径,例如:pid logs/nginx.pid;
error_log:指定错误日志的路径和日志级别。此指令可在全局块、http 块、server 块以及 location 块中配置。例如:error_log logs/error.log notice; 表示错误日志存放在logs/error.log,级别为 notice。

events 块
涉及的指令主要影响 Nginx 服务器与用户的网络连接,对服务器性能有较大影响,常用指令有:

accept_mutex:开启时,将对多个 Nginx 进程接收连接进行序列化,防止多个进程对连接的争抢。默认是开启状态,只能在 events 块中进行配置,例如:accept_mutex on;
multi_accept:如果被禁止(multi_accept off; ),Nginx 一个工作进程只能同时接受一个新连接;否则,一个工作进程可以同时接受所有新连接。若 Nginx 使用 kqueue 连接方法,此指令会被忽略。
use:指定使用哪种网络 I/O 模型,如use epoll; 。可选择的内容包括 select、poll、kqueue、epoll、rtsig、/dev/poll 以及 eventport 等,但一般操作系统并不支持所有模型。
worker_connections:设置允许每一个 worker 进程同时开启的最大连接数。例如:worker_connections 1024; 需注意,这个值不能超过系统支持打开的最大文件数和单个进程支持打开的最大文件数。

http 块
是 Nginx 配置中的重要部分,可包含自己的全局块、多个 server 块,而 server 块中又可进一步包含多个 location 块。http 全局块中可配置的指令包括:

include:用于包含其他的配置文件,例如:include mime.types;
default_type:设定默认文件类型,例如:default_type application/octet-stream;
sendfile:开启高效文件传输模式,例如:sendfile on;
keepalive_timeout:设置客户端连接保持活动的超时时间,例如:keepalive_timeout 65;
log_format:自定义日志格式。
access_log:配置 access_log 日志及存放路径,并可使用上面定义的日志格式。

在 server 块中,常用指令有:
listen:配置监听端口,例如:listen 80;
server_name:配置服务名,例如:server_name localhost;
location:用于匹配网页位置,可进行各种请求处理的配置,例如指定根目录、首页文件等。

在 location 块中,可以进一步细化对特定 URL 路径的处理规则。


worker_processes 1;

工作进程数,设置成服务器内核的2倍(一般不超过8个,超过8个反而会降低性能4个1-2个)

处理进程的过程必然涉及配置文件和展示页面,也就是涉及打开文件的数量

nginx默认打开文件数就是1024

vim /etc/security/limits.conf
进入编辑
soft bproc 65535
能打开的进程最大数的软限制是65535,65535是最大数
hard nproc 65535
soft nofile
进程打开文件数的最大值65535
hrad nofile 65535
能打开的进程最大数的硬限制是65535
这个配置要生效只能重启,这是系统初始化的一个环节。

面试题:

root和alias匹配工作之间的区别

root的匹配模式 拼接

root的工作目录,访问的是uri/102

location /xy102

/opt/test1

/opt/test1/xy102

alias也是指匹配nginx的根目录 路径是绝对路径

location /xy102

alias /opt/test1/xy102/;

alias 只能写在http模块当中的server模块的location模块里面

root可以写在server模块,也可以在http,也可以在location中

alias匹配工作目录,不能够使用重定向功能


总结

全局模块

work_processes 1; 指定进程数

events模块决定了能够处理的连接数

stream 四层代理模块

http模块

转发和处理http请求,设置代理(正向代理,反向代理),缓存,定义日志格式,重定向配置。

在http模块当中,包含:

server模块 http里面可以有多个server模块

在server模块当中包含:

location模块

在server模块当中可以有多个location模块


实验

统计访问状态

vim nginx.conf

location /status {

stub_status on;

打开状态统计的功能;

access_log off;

关闭status的访问日志

}

然后nginx -t 查看一下语法是否有误

没有问题就重启nginx

访问页面得出结果

Active connections:1

当前活动的连接数

server accepts handled requests

已经处理的连接数

36 36 36

三个数字从左往右:已经处理的连接次数,成功建立的连接次数 ,已经处理的请求数

Reading:0 writing:1 waiting:0

reading :标识服务端正在从客户端请求读取请求的数据

writing :表示服务端正在把响应数据发送给客户端

waiting:表示有连接处于空闲状态,等待新的请求


基于密码的授权进行访问控制

yum -y install httpd-tools httppasswd的工具,要先安装

htpasswd -c /usr/local/nginx/passwd.db bmm

创建一个文件

进入nginx主配置文件里面

重启


基于客户端的访问控制 ip地址来进行控制

添加一个控制规格

deny 192.168.124.10

allow all

20的主机不能访问

其他的主机可以访问。


基于域名的nginx主机

然后把ip地址和域名做一个映射

进入 /etc/hosts编辑

访问www.xy102.com就相当于访问192.168.124.10

多个域名的访问

进入nginx主配置文件中在后面添加一个server模块


基于ip地址的访问

先创建一个虚拟网卡

然后进入nginx主配置文件中更改监听ip地址

检测语法错误然后重启


基于端口实现多个虚拟主机

端口可以任意设置,但不能超过65535


多个配置文件

进入nginx主配置文件

在http模块中添加

然后创建一个conf.d这个目录,切换到这个目录中,编辑一个test1.conf

然后创建这个两个目录

往两个目录中index.html写入内容

查看这个目录连接的端口

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux多线程【线程互斥】

文章目录 Linux线程互斥进程线程间的互斥相关背景概念互斥量mutex模拟抢票代码 互斥量的接口初始化互斥量销毁互斥量互斥量加锁和解锁改进模拟抢票代码(加锁)小结对锁封装 lockGuard.hpp 互斥量实现原理探究可重入VS线程安全概念常见的线程不安全的情况常…

【开发环境】MacBook M系列芯片环境下搭建完整Python开发环境

文章目录 Anaconda和Python的关系?1. Python2. Anaconda 安装AnacondaPycharm整合Anaconda运行你的Python代码 Anaconda和Python的关系? 如果有简单了解过Python语言的,那么你很容易就会听到有人会叫你安装Anaconda。 那么Anaconda是什么&am…

编译原理2

推导和短语 推导 推导过程中,每一步推导都是对句型的 最右非终结符 进行替换,最右推导(规范推导); 短语 用 β 替换 A,则 β 就是 关于A 的一个短语; 直接短语是短语范围内的一步推导; 直接短语可能不…

Rust学习笔记007:Trait --- Rust的“接口”

Trait 在Rust中,Trait(特质)是一种定义方法集合的机制,类似于其他编程语言中的接口(java)或抽象类(c的虚函数)。 。Trait 告诉 Rust 编译器: 某种类型具有哪些并且可以与其它类型共享的功能Trait:抽象的…

[ROS 系列学习教程] 建模与仿真 - 使用 ros_control 控制差速轮式机器人

ROS 系列学习教程(总目录) 本文目录 一、差速轮式机器人二、差速驱动机器人运动学模型三、对外接口3.1 输入接口3.2 输出接口 四、控制器参数五、配置控制器参数六、编写硬件抽象接口七、控制机器人移动八、源码 ros_control 提供了多种控制器,其中 diff_drive_cont…

Datawhale - 角色要素提取竞赛

文章目录 赛题要求一、赛事背景二、赛事任务三、评审规则1.平台说明2.数据说明3.评估指标4.评测及排行 四、作品提交要求五、 运行BaselineStep1:下载相关库Step2:配置导入Step3:模型测试Step4:数据读取Step5:Prompt设…

工业 web4.0UI 风格品质卓越

工业 web4.0UI 风格品质卓越

【力扣 - 每日一题】3115. 质数的最大距离(一次遍历、头尾遍历、空间换时间、埃式筛、欧拉筛、打表)Golang实现

原题链接 题目描述 给你一个整数数组 nums。 返回两个(不一定不同的)质数在 nums 中 下标 的 最大距离。 示例 1: 输入: nums [4,2,9,5,3] 输出: 3 解释: nums[1]、nums[3] 和 nums[4] 是质数。因此答…

WPF自定义模板--Button

属性&#xff1a; TemplateBinding&#xff1a;用于在ControlTemplate中绑定到控件的属性&#xff0c;例如Background、BorderBrush等。TargetType&#xff1a;指定该模板应用于哪种控件类型。在这个例子中&#xff0c;是Button。 标准的控件模板代码&#xff1a; <Style…

线性代数大题细节。

4.4 方程组解的结构&#xff08;二&#xff09;_哔哩哔哩_bilibili

eNSP中WLAN的配置和使用

一、基础配置 1.拓扑图 2.VLAN和IP配置 a.R1 <Huawei>system-view [Huawei]sysname R1 GigabitEthernet 0/0/0 [R1-GigabitEthernet0/0/0]ip address 200.200.200.200 24 b.S1 <Huawei>system-view [Huawei]sysname S1 [S1]vlan 100 [S1-vlan100]vlan 1…

vue3 window.location 获取正在访问的地址,也可以通过useRoute来获取相关信息。

1、一般我们在开发的vue3项目的时候&#xff0c;地址是这样&#xff1a;http://192.168.1.101:3100/#/login 然后我们在布署完成以后一般是这样https://xxx.yyyyy.com/uusys/#/login 其实xxx可以是www&#xff0c;也可以是一个二级域名 yyyyy.com是域名&#xff0c;uusys一般…

家政小程序的开发:打造现代式便捷家庭服务

随着现代生活节奏的加快&#xff0c;人们越来越注重生活品质与便利性。在这样的背景下&#xff0c;家政服务市场迅速崛起&#xff0c;成为许多家庭日常生活中不可或缺的一部分。然而&#xff0c;传统的家政服务往往存在信息不对称、服务效率低下等问题。为了解决这些问题&#…

Windows编程上

Windows编程[上] 一、Windows API1.控制台大小设置1.1 GetStdHandle1.2 SetConsoleWindowInfo1.3 SetConsoleScreenBufferSize1.4 SetConsoleTitle1.5 封装为Innks 2.控制台字体设置以及光标调整2.1 GetConsoleCursorInfo2.2 SetConsoleCursorPosition2.3 GetCurrentConsoleFon…

elementPlus自定义el-select下拉样式

如何在f12元素选择器上找到下拉div呢&#xff1f; 给el-select添加 :popper-append-to-body"false" 即可&#xff0c;这样就可以将下拉框添加到body元素中去&#xff0c;否则当我们失去焦点&#xff0c;下拉就消失了&#xff0c;在元素中找不到el-select。剩下就可以…

华硕魔霸5原装Windows10原厂系统 工厂模式 带ASUS Recovery恢复功能

华硕工厂文件恢复系统 &#xff0c;安装结束后带隐藏分区&#xff0c;一键恢复&#xff0c;以及机器所有驱动软件。 系统版本&#xff1a;Windows10 原厂系统下载网址&#xff1a;http://www.bioxt.cn 需准备一个20G以上u盘进行恢复 请注意&#xff1a;仅支持以上型号专用…

系统架构设计师 - 计算机网络(2)

计算机网络 计算机网络IPv6 ★概念IPv6 的优势IPv6 数据格式IPv6 地址应用IPv6 自动 IP 地址配置&#xff08;了解&#xff09;IPv4/IPv6过渡技术 网络接入&#xff08;了解&#xff09;综合布线系统 ★物联网&#xff08;了解&#xff09;概念分层 云计算&#xff08;了解&…

顺序串算法库构建

学习贺利坚老师顺序串算法库 数据结构之自建算法库——顺序串_创建顺序串s1,创建顺序串s2-CSDN博客 本人详细解析博客 串的概念及操作_串的基本操作-CSDN博客 版本更新日志 V1.0: 在贺利坚老师算法库指导下, 结合本人详细解析博客思路基础上,进行测试, 加入异常弹出信息 v1.0补…

将一个程序设置为开机启动【win11】

Windows 在 Windows 系统中&#xff0c;可以通过在 “启动” 文件夹中放置程序的快捷方式来实现开机启动。 按照以下步骤操作&#xff1a; 按 Win R 打开 “运行” 对话框&#xff0c;输入 shell:startup&#xff0c;然后按回车。这将打开 “启动” 文件夹。 找到你想设置为…

动态规划——打家劫舍(C++)

好像&#xff0c;自己读的书确实有点少了。 ——2024年7月2日 198. 打家劫舍 - 力扣&#xff08;LeetCode&#xff09; 题目描述 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连…