IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 二、Nginx之nginx.conf配置文件详解 -> 正文阅读

[系统运维]二、Nginx之nginx.conf配置文件详解

? 通过上节学习,我们掌握了nginx的安装部署

? 这节主要内容是简介nginx的基本配置

目录

一、 全局块

1.1 概况

1.2 nginx用户权限

1.3 master及其works进程控制

1.3.1 master_process:

1.3.2 worker_processes

1.4 其他控制

1.4.1 daemon

1.4.2 access_log

1.4.3 error_log

1.4.4 include

二、events模块

2.1 简介

2.2 配置

2.2.1?accept_mutex,设置Nginx网络连接序列化

2.2.2?multi_accept,用来设置是否允许同时接收多个网络连接

2.2.3 worker_connections:用来配置单个worker进程最大的连接数

2.2.4?use:用来设置Nginx服务器选择哪种事件驱动来处理网络消息

三、HTTP模块

3.1? http模块配置

3.2 server模块配置

3.3 location模块配置

四、扩展--关于epoll介绍

4.1? select 、poll、epoll对比


一、 全局块

1.1 概况

? ? ? ? 全局模块主要是用于配置关于master和work进程相关内容,以及nginx的用户(权限)、日志等。

1.2 nginx用户权限

1.2.1 user

????????

值? ? ? ?释义
username?用于配置nginx用户;eg: user nobody;

注意: ① 默认值为 nobody。

? ? ? ? ? ? ② 配置静态文件等情况,有无法访问的时候,需要查看文件权限及其所属用户信息。

1.3 master及其works进程控制

1.3.1 master_process:

值? ? ? ?释义
on????????开启master进程(默认值) eg: master_process on;
off? ? ? ? ? ? ? ? ? ??关闭master进程,此时将只有一个nginx进程进行服务提供

注意: ①默认开启master进程。

? ? ? ? ? ? ②关闭后,不在有master进程和worker进程区别,只有一条进程进行服务提供。

1.3.2 worker_processes

值? ? ? ?释义
number?worker进程数量:? eg:? worker_processes 1;

注意:① 只有master_process on;开启时才会生效

? ? ? ? ? ?② 默认值为1,值大小需要具体情况具体分析,但是一般设置为cpu处理核数量。

1.4 其他控制

1.4.1 daemon

????????设定Nginx是否以守护进程的方式启动,不会随着终端关闭而停止。

值? ? ? ?释义
on????????开启守护进程 (默认值) eg:? daemon: on;
off? ? ? ? ? ? ? ? ? ??关闭守护进程。eg: daemon: off;

1.4.2 access_log

值? ? ? ?释义
filePath

指定access_log文件路径? ? eg:? ?access_log:?logs/access.log?

注意: ① 上文用了相对路径,即相对于prefix路径(/usr/local/nginx)

? ? ? ? ? ? ② 这个配置既可以作为全局配置,也可以为server、location单独配置

1.4.3 error_log

值? ? ? ?释义
filePath

指定error_log文件路径? ? eg:? ?error_log:?logs/error.log?

注意: ① 上文用了相对路径,即相对于prefix路径(/usr/local/nginx)

? ? ? ? ? ? ② 这个配置既可以作为全局配置,也可以为server、location单独配置

1.4.4 include

值? ? ? ?释义
filePath

指定其他模块的conf文件,eg: include: other/*.conf

注意:

????????① 当nginx要配置多个模块的时候,比如多个service,那么为了方便模块管控,一个service可以使用一个conf文件进行配置

????????② 可以使用*.conf进行通配匹配,我们一般会将这些放到一个我们定制的目录之中


二、events模块

2.1 简介

? ? ? ? 主要用于配置nginx处理请求时的相关配置

2.2 配置

2.2.1?accept_mutex,设置Nginx网络连接序列化

值? ? ? ?释义
filePath

指定其他模块的conf文件,eg: include: other/*.conf

? ? ? ? 开启该选项表示所有worker进程轮流的接受新的请求。默认情况下,一旦有新的请求都会通知所有的worker进程。如果新连接的数量较低,那所有请求都会通知一遍worker进程,造成系统资源浪费。?

? ? ? ? 建议开启,以免引起惊群效应

2.2.2?multi_accept,用来设置是否允许同时接收多个网络连接

值? ? ? ?释义
on????????开启??eg:? multi_accept: on;
off? ? ? ? ? ? ? ? ? ??关闭 (默认值)。eg: multi_accept: off;

????????如果multi_accept被禁止了,nginx一个工作进程只能同时接受一个新的连接。否则,一个工作进程可以同时接受所有的新连接。

? ? ? ? 建议开启,否则效率太低了

2.2.3 worker_connections:用来配置单个worker进程最大的连接数

值? ? ? ?释义
number

eg: worker_connections: 512 (默认值)

????????这里的连接数不仅仅包括和前端用户建立的连接数,而是包括所有可能的连接数。另外,number值不能大于操作系统支持打开的最大文件句柄数量。

2.2.4?use:用来设置Nginx服务器选择哪种事件驱动来处理网络消息

值? ? ? ?释义
method

eg: use: epoll? ? ? ?(默认值:系统方案)?

注意:① 一般有? select、poll、epoll三种方案,默认为系统方案

? ? ? ? ? ?② 建议使用epoll

三、HTTP模块

3.1? http模块配置

????????????????

????????对于http公共模块, 主要配置server公共 部分的内容:

? ?3.1.1??include? ? 如果我们将一个端口作为一个项目服务组,那么公共部分譬如日志的格式,文件缓存、服务的默认请求类型都可以在这里配置。? 甚至可以将server内容单独封装成一个conf文件,由include进行引入,语法: include? ?[filepath];? ? 这里的mime.types是处理不同的文件对应的请求类型。

? ?3.1.2 keepalive_timeout 65; 表示连接超时活跃的时间长,单位为秒。其他后续会用到。

3.2 server模块配置

????????

server 公共配置部分主要配置:

?3.2.1 listen : 监听的端口号。

?3.2.2 location :? 主要是匹配请求的前缀,例如 / 将匹配所有的请求。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? error_page? ?xxxx。 则是将错误码为xxxx的请求到50x.html文件(html目录下)

3.3 location模块配置

?location 主要是将匹配来的请求进行访问、代理、反向代理、转发等方式提供服务。

? 也就是location主要配置的几块内容包含于下面几个内容(常见):

? ? 1.? 静态文件的访问(例如前端项目、静态文件等、错误码指向文件)

? ? 2.? 转发请求,rewrite

? ? 3.? 进行代码及其负载均衡的策略? ? proxy_paas \ upstream 等。

? ? 4.? 对请求的request内容进行一些策略的提供(包括添加一些参数等)

? 当然这里只是做简单的了解即可,后续会对此内容进行扩展了解

四、扩展--关于epoll介绍

4.1? select 、poll、epoll对比

? ? ? ? ?select和poll都是直接使用linux内核的文件集,但是select有所限制,poll没有限制,故poll比select会高效一些。

? ? ? ? epoll方式则是,linux内核会创建一个epoll文件集的红黑树,其单独的空间检索更为快速,处理也就更快,且没有限制,故为高效。

? ? ? ? 具体详见搞懂Select,Poll,Epoll的区别-IT乾坤技术博客

参考资料:? 1. 黑马程序员介绍

? ? ? ? ? ? ? ? ? ? 2. 博客:搞懂Select,Poll,Epoll的区别-IT乾坤技术博客

上一节:一、Nginx简介及其基本结构_童懵的博客-CSDN博客

下一节:三、nginx信号控制_童懵的博客-CSDN博客

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 18:25:00  更:2022-04-18 18:27:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:38:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码