Nginx - 相关概念解释及整体结构

概述

  1. 定义
    1. 一个高性能的 HTTP 和反向代理服务器
    2. 一个 IMAP/POP3/SMTP 代理服务器
  2. 目标:高效处理高并发连接
  3. 安装流程:Installing nginx

功能

功能说明
⭐ 反向代理作为反向代理服务器,将客户端请求转发到一个或多个后端服务器
负载均衡通过多种负载均衡算法(如轮询、最少连接等)分发请求
HTTP 缓存缓存后端服务器的响应,提高响应速度并减轻后端服务器的压力
静态内容服务高效地提供静态文件(如 HTML、CSS、JavaScript、图片等)的服务
SSL/TLS 加密支持 SSL/TLS,加密客户端和服务器之间的通信,提高安全性
邮件代理服务作为邮件代理(IMAP、POP3、SMTP)服务器
URL 重写和重定向提供灵活的 URL 重写和重定向功能,用于优化 URL 结构和管理请求路由
FastCGI、uWSGI、gRPC 支持支持与 FastCGI、uWSGI 和 gRPC 服务通信,常用于与 PHP、Python 和其他动态内容生成的应用服务器集成
流控 & 限流
访问控制和认证

常用命令

命令功能说明
nginx -s quit正常停止优雅退出
nginx -s stop立即停止强制退出
nginx -s reload重新加载配置文件热重载配置
nginx -s reopen重新打开日志文件日志切割
nginx -t检查配置文件验证配置有效性
nginx -p /path/to/virtual_host_file启动特定虚拟主机指定虚拟主机配置

结构

  1. 组成:一个主进程 + 多个工作进程

一、主进程(Master Process)

  1. 功能
    1. 读取和评估配置文件
    2. 管理和维护工作进程(Worker Processes)
    3. 接受并响应操作系统的信号(如重启、重新加载配置等)

二、工作进程(Worker Processes)

  1. 功能:实际处理客户端请求
  2. 数量:在配置文件中定义,可以针对给定的配置进行固定,也可以根据可用的 CPU 内核数量自动调整
  3. 进程独立:每个工作进程是独立的,相互之间没有共享状态,这样可以最大限度地提高稳定性和并发处理能力

三、事件驱动模型

  1. 定义:异步、非阻塞的事件驱动架构,依赖于操作系统提供的高效事件通知机制(如 epoll、kqueue 等)
  2. 功能:允许 Nginx 在处理高并发连接时保持高效

特点

  1. 高可靠性:独立的工作进程设计,某个工作进程出问题不会影响整个服务器的运行
  2. 资源消耗低:内存和 CPU 使用率低(10000 个非活跃的 HTTP Keep-Alive 连接在 Nginx 中仅消耗 2.5MB 的内存)
  3. 处理响应请求快 :基于事件驱动的架构,Nginx 可以比其它的 Web 服务器更快的响应请求
  4. 支持高并发连接 :基于事件驱动的架构,能够并发处理百万级别的 TCP 连接
  5. 高扩展性:高度模块化的设计和自由的许可证使得用于扩展 Nginx 功能的第三方模块十分庞大
  6. 热部署:master 管理进程与 worker 工作进程的分离设计,保证 Nginx 可以在不间断服务的前提下,升级 Nginx 的可执行文件
  7. 自由的 BSD 许可协议:允许用户免费使用 Nginx,也允许用户修改 Nginx 源码,还允许用户用于商业用途
  8. 跨平台:Linux ↔ Windows

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

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

相关文章

超越 RAG 基础:AI 应用的高级策略

作者:来自 Elastic Elastic Platform Team 我们最近与 Cohere 举办的虚拟活动深入探讨了检索增强生成 (retrieval augmented generation - RAG) 的世界,重点讨论了在概念验证阶段之后构建 RAG 应用程序的关键注意事项。我们的演讲者是 Elastic 的首席解…

音频开发中常见的知识体系

在 Linux 系统中,/dev/snd 目录包含与声音设备相关的文件。每个文件代表系统中的一部分音频硬件或音频控制接口。以下是你列出的文件及其含义: 一.基本术语 样本长度(sample):样本是记录音频数据最基本的单位,计算机对每个通道采…

贪心算法 part01

class Solution { public:int maxSubArray(vector<int>& nums) {int result INT32_MIN;int count 0;for (int i 0; i < nums.size(); i) {count nums[i];if (count > result) { // 取区间累计的最大值&#xff08;相当于不断确定最大子序终止位置&#xff…

Ubuntu 安装texstudio sty与texlive

手动安装需要的包 访问CTAN网站&#xff08;Comprehensive TeX Archive Network&#xff09;并下载enumitem宏包&#xff1a; enumitem CTAN页面下载后&#xff0c;将宏包解压到/usr/share/texmf/tex/latex/下。 可打开texstudio/帮助/宏包帮助下载。 如果不想手动安装一个个…

Moretl安全日志采集工具

永久免费: 至Gitee下载 使用教程: Moretl使用说明 使用咨询: 用途 定时全量或增量采集工控机,电脑文件或日志. 优势 开箱即用: 解压直接运行.不需额外下载.管理设备: 后台统一管理客户端.无人值守: 客户端自启动,自更新.稳定安全: 架构简单,兼容性好,通过授权控制访问. 架…

CAN配置---波特率中断引脚等---autochips-AC7811-ARM-M3内核

1、配置工具 虽然不怎么好用&#xff0c;但比没有强多了。具体看图&#xff1a; 时钟选着 NVIC配置 GPIO配置 2、生成的具体配置信息 NXP的配置工具里面&#xff0c;具体的波特率可以直接显示&#xff0c;这个工具没有&#xff0c;怎么办&#xff1f; 它放到了生成的代码里面…

【ETCD】ETCD 架构揭秘:内部各组件概览

ETCD 的主要组件及它们之间的关联关系如下&#xff1a; 目录 1. Client&#xff08;客户端&#xff09;2. gRPC 接口3. Etcd Server Main Loop&#xff08;ETCD 主循环&#xff09;4. Raft&#xff08;共识模块&#xff09;5. Peer Etcd Nodes&#xff08;ETCD 集群节点&#x…

乐凡信息智能安全管控方案:助力油气田行业安全管控多方位升级

我国油田地域广阔&#xff0c;分布着大量各种油井&#xff0c;油井开采设备的连续稳定运行是保证石油开采的首要条件。然而&#xff0c;由于油田多位于特殊地理环境中&#xff0c;因而实现油井之间的通信首要问题就是要克服地理环境所带来的限制&#xff0c;传统通信系统的建设…

windows 使用python共享网络给另外一个网卡

# -*- coding: utf-8 -*- import subprocessdef open_share(to_shared_adapter, from_shared_adapter):"""打开以太网的网络共享:return: None"""powershell_script f"""# Register the HNetCfg library (once)# regsvr32 hnetc…

深度学习实战智能交通计数

本文采用YOLOv8作为核心算法框架&#xff0c;结合PyQt5构建用户界面&#xff0c;使用Python3进行开发。YOLOv8以其高效的实时检测能力&#xff0c;在多个目标检测任务中展现出卓越性能。本研究针对车辆目标数据集进行训练和优化&#xff0c;该数据集包含丰富的车辆目标图像样本…

rebase ‘A‘ onto ‘master‘ 和 merge ‘master‘ into ‘A‘有什么区别

在Git版本控制系统中&#xff0c;rebase 和 merge 是两种不同的操作&#xff0c;用于合并分支。rebase A onto master 和 merge master into A 虽然最终目的都是将两个分支的更改合并在一起&#xff0c;但它们在处理方式和结果上有所不同。 rebase ‘A’ onto ‘master’ 含义…

MySQL Explain 分析SQL语句性能

一、EXPLAIN简介 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句&#xff0c;从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。 &#xff08;1&#xff09; 通过EXPLAIN&#xff0c;我们可以分析出以下结果&#xff1a; 表的读取顺序数据读取…

关于SAP Router连接不稳定的改良

这个也是网上看来的&#xff0c;之前在用的时候也在想是不是建立一个长连接&#xff0c;就不至于断线。今天正好看到。 关于SAP Router连接不稳定的改良 我们在使用SAPRouter时经常会碰到断线&#xff0c;其发生原因有很多&#xff0c;如&#xff1a;网络不稳定、操作间隔时间…

游泳溺水识别数据集,对9984张原始图片进行YOLO,COCO JSON, VOC XML 格式的标注,平均识别率在91.7%以上

游泳溺水识别数据集&#xff1a; 对9984张原始图片进行YOLO&#xff0c;COCO JSON, VOC XML 格式的标注&#xff0c;平均识别率在91.7&#xff05;以上 &#xff0c;可识别泳池或者水库中是否有人溺水。 数据集分割 训练组98&#xff05; 9818图片 有效集&#xff05;…

Docker的容器编排

目录 1. 什么是容器编排&#xff08;Docker Compose&#xff09;2. 容器编排的功能3. 容器编排文件&#xff08;docker-compose.yml&#xff09;的介绍3.1 文件语法版本3.2 文件基本结构及常见指令 4. Docker Compose命令详解4.1 Docker Compose命令清单4.2 命令格式和常见选项…

Type 类型 总结

GetType、Typeof Type 官网资料 IsAssignableFrom IsAssignableTo 在C#中&#xff0c;Type.IsAssignableFrom方法用于判断一个类型是否可以从另一个类型赋值。它检查源类型是否是目标类型的基类或接口。 isAssignableFrom(Class<?> c) 标识 “当前Class 是否是给定…

温度传感器DS18B20详解

前面我们学习 DHT11 的时候提到了 DS18B20&#xff0c;它有很宽的测温范围&#xff0c;-55C ~ 125C。那么本次我们就来详细介绍一下 DS18B20。 DS18B20 是一种单总线数字温度传感器&#xff0c;它被广泛应用于各种领域&#xff0c;例如气象监测、室内温度控制、工业自动化等。…

基于MNE的EEGNet 神经网络的脑电信号分类实战(附完整源码)

利用MNE中的EEG数据&#xff0c;进行EEGNet神经网络的脑电信号分类实现&#xff1a; 代码&#xff1a; 代码主要包括一下几个步骤&#xff1a; 1&#xff09;从MNE中加载脑电信号&#xff0c;并进行相应的预处理操作&#xff0c;得到训练集、验证集以及测试集&#xff0c;每个…

LM芯片学习

1、LM7805稳压器 https://zhuanlan.zhihu.com/p/626577102?utm_campaignshareopn&utm_mediumsocial&utm_psn1852815231102873600&utm_sourcewechat_sessionhttps://zhuanlan.zhihu.com/p/626577102?utm_campaignshareopn&utm_mediumsocial&utm_psn18528…

2025山东科技大学考研专业课复习资料一览

[冲刺]2025年山东科技大学020200应用经济学《814经济学之西方经济学[宏观部分]》考研学霸狂刷870题[简答论述计算题]1小时前[强化]2025年山东科技大学085600材料与化工《817物理化学》考研强化检测5套卷22小时前[冲刺]2025年山东科技大学030100法学《704综合一[法理学、国际法学…