Nginx 特性、配置与实战部署

Nginx 特性、配置与实战部署

一、Nginx 概述

Nginx 是一款轻量级的 Web 服务器反向代理服务器电子邮件(IMAP/POP3)代理服务器,以 内存占用少、并发能力强 著称。在中国大陆,百度、京东、新浪、网易、腾讯、淘宝等头部企业均采用 Nginx 作为核心 Web 服务组件。

二、Nginx 核心特性与优点

(一)核心特性

  1. 高并发支撑:官方测试可支撑 5 万并发连接,生产环境中常规可达 2-3 万并发,远超传统 Apache 服务器。
  2. 高效事件模型:基于 epoll(Linux)、kqueue(BSD)等高效事件驱动模型,资源利用率低。
  3. 多角色支持:可同时作为 Web 服务器、反向代理服务器、负载均衡服务器,且能直接支持 PHP-FPM、uWSGI 等动态服务。
  4. 高性能设计:采用 C 语言编写,系统资源开销小、CPU 效率高,无 Perlbal 等工具的性能瓶颈。

(二)核心优点

优点分类

具体说明

性能优势

- 内存消耗少:3 万并发下,10 个 Nginx 进程仅占用约 150M 内存;- 热部署支持:无需停机即可重载配置文件,保障服务连续性。

功能优势

- 内置健康检查:后端服务器宕机时自动剔除,不影响前端访问;- GZIP 压缩:支持静态资源压缩,节省带宽;- URL 重写:可根据域名、路径分发请求到不同后端;- 模块化设计:核心模块与第三方模块可灵活组合,支持动态编译。

成本与稳定性

- 开源免费:相比 F5 BIG-IP、NetScaler 等硬件负载均衡设备,大幅降低成本;- 稳定性高:作为反向代理时宕机概率极低,适合生产环境长期运行。

三、Nginx 功能体系

(一)基本功能

  1. 静态资源服务:直接处理 HTML、CSS、JS、图片等静态资源,支持缓存打开的文件描述符,提升访问速度。
  2. 反向代理:支持 HTTP、SMTP、POP3 协议的反向代理,可隐藏后端服务器 IP,提升安全性。
  3. 负载均衡:通过 upstream 模块实现后端服务器集群的负载分发,支持轮询、IP 哈希、权重等多种算法。
  4. 动态服务对接:支持 FastCGI(适配 PHP-FPM,用于 LNMP 架构)、uWSGI(适配 Python)等动态服务协议。
  5. 基础过滤与处理:内置 ZIP 压缩、SSI 解析、图像大小调整等过滤器模块。
  6. SSL 支持:集成 http_ssl_module,可配置 HTTPS 协议,保障数据传输安全。

(二)扩展功能

  1. 虚拟主机:支持基于域名(server_name)和 IP 的多虚拟主机,实现一台服务器部署多个站点。
  2. 连接优化:支持 keepalive 长连接,减少 TCP 握手开销;开启 tcp_nodelay 优化长连接数据传输。
  3. 访问控制:基于 IP 地址、用户身份(如 Basic Auth)限制访问,保障站点安全。
  4. 流量控制:支持速率限制(limit_rate)和并发数限制(limit_conn),防止恶意请求压垮服务器。
  5. 日志定制:支持自定义访问日志格式,可使用日志缓冲区提升存储性能,便于后续日志分析。

四、Nginx 模块分类

Nginx 的功能由模块支撑,模块按来源分为三类:

模块类型

包含模块示例

功能说明

核心模块

HTTP 模块、EVENT 模块、MAIL 模块

Nginx 运行的基础,默认编译进程序,负责协议解析、事件驱动等核心逻辑。

基本模块

HTTP Access 模块、HTTP FastCGI 模块、HTTP Proxy 模块、HTTP Rewrite 模块

扩展核心功能,如访问控制、FastCGI 对接、反向代理、URL 重写等。

第三方模块

HTTP Upstream 模块、Request Hash 模块、Notice 模块、HTTP Access Key 模块

由社区或用户开发,满足特定场景需求(如自定义负载均衡算法、访问密钥验证)。

五、Nginx 工作原理

(一)进程架构

Nginx 采用 Master-Worker 多进程模型,启动后包含两类进程:

  1. Master 进程:仅 1 个,不处理客户端请求,负责管理 Worker 进程:
    • 读取并验证配置文件;
    • fork(创建)Worker 进程;
    • 接收信号(如重载配置、停止服务)并分发给 Worker 进程。

     2.Worker 进程:多个(数量由 worke

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值