Statistics
54
Views
0
Downloads
0
Donations
Uploader

高宏飞

Shared on 2025-11-25
Support
Share

AuthorDerek DeJonghe

NGINX 是当今使用最广泛的 Web 服务器之一,部分原因在于它可以用作 HTTP 和其他网络协议的负载均衡器和反向代理服务器。本修订版完全指南通过一些简单易懂的例子解析了应用交付中真实存在的问题。实用的实操指南可帮助您设置开源或商业产品,并利用它们解决各种用例中的问题。 对于了解现代 Web 架构(例如 n 层或微服务设计以及 TCP和 HTTP 等常见 Web 协议)的专业人士来说,本书的这些实操指南为安全和软件负载均衡以及 NGINX 应用交付平台的监控和维护提供了经过验证的解决方案。您还将了解到免费的 NGINX 开源版以及许可授权版 NGINX Plus 的高级功能。 您将获取以下方面的实操指南: • HTTP、TCP 和 UDP 高性能负载均衡 • 通过加密流量、安全链接、HTTP 身份验证子请求等保护访问 • 将 NGINX 部署到 Google、亚马逊云科技(AWS)和Azure 云服务 • 将 NGINX Plus 配置为 SAML 环境中的服务提供商 • HTTP/3(QUIC)、OpenTelemetry 和 njs 模块

Tags
No tags
Publisher: O'Reilly Media
Publish Year: 2024
Language: 中文
Pages: 200
File Format: PDF
File Size: 7.1 MB
Support Statistics
¥.00 · 0times
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

D eJong he N G IN X C ookb ook N G IN X C ookb ook NGINX 完全指南 第 三 版 实现高性能负载均衡的进阶实操指南 来自 Derek DeJonghe
3E NGINX 完全指南 NGINX 是当今使用最广泛的 Web 服务器之一,部分原因 在于它可以用作 HTTP 和其他网络协议的负载均衡器和反 向代理服务器。本修订版完全指南通过一些简单易懂的例 子解析了应用交付中真实存在的问题。实用的实操指南可 帮助您设置开源或商业产品,并利用它们解决各种用例中 的问题。 对于了解现代 Web 架构(例如 n 层或微服务设计以及 TCP 和 HTTP 等常见 Web 协议)的专业人士来说,本书的这些 实操指南为安全和软件负载均衡以及 NGINX 应用交付平台 的监控和维护提供了经过验证的解决方案。您还将了解到 免费的 NGINX 开源版以及许可授权版 NGINX Plus 的高级 功能。 您将获取以下方面的实操指南: • HTTP、TCP 和 UDP 高性能负载均衡 • 通过加密流量、安全链接、HTTP 身份验证子请求等保 护访问 • 将 NGINX 部署到 Google、亚马逊云科技(AWS)和 Azure 云服务 • 将 NGINX Plus 配置为 SAML 环境中的服务提供商 • HTTP/3(QUIC)、OpenTelemetry 和 njs 模块 Derek DeJonghe 是 AWS 认证 专业人员,专门研究基于 Linux/ Unix 的系统和 Web 应用。他在 Web 开发、系统管理和网络方面 拥有扎实的专业背景,积累了丰 富的云经验,主要涉及基础架构 管理、配置管理及持续集成。他 还开发 DevOps 工具,并维护多 个多租户 SaaS 产品的系统、网 络及部署。 系统管理 Twitter: @oreillymedia linkedin.com/company/oreilly-media youtube.com/oreillymedia
免费试用 F5 NGINX Plus 和 F5 NGINX App Protect 为微服务提供高性能应用交付和安全防护 NGINX Plus 是一款软件负载均衡器、API 网关和微服务代理。 NGINX App Protect 是一款轻量级、快速 Web 应用防火墙(WAF),基于 F5 业经验证的可靠技术,专为现代应用和 DevOps 环境而设计。 节省成本 较之硬件应用交付控制器和 WAF,可 显著节省成本,并提供您所期望的所 有性能和功能。 降低复杂性 唯一一款将负载均衡器、API 网关、 微服务代理和 Web 应用防火墙集于一 身的多合一产品,有助于减少基础架 构蔓延。 面向企业 NGINX Plus 和 NGINX App Protect 可与 DevOps 和 CI/CD 环境集成,满 足企业对安全性、可扩展性和弹性的 要求。 高级安全防护 保护您的应用和 API 免受不断扩大的 网络攻击和安全漏洞的影响。 © 2024 F5, Inc. 保留所有权利。F5、F5 标识、NGINX、NGINX 标识、NGINX App Protect 和 NGINX Plus 是 F5 公司 在美国和其他国家/地区的商标。其他 F5 商标可在 f5.com 上予以确认。本文提及的所有其他产品、服务或公司名称可能 是其各自所有者的商标,与 F5 公司并无隶属关系,F5 公司不做任何明示或暗示的担保。 9 7 8 1 0 9 8 1 4 6 5 4 2 5 7 9 9 9 US $79.99 CAN $99.99 ISBN: 978-1-098-14654-2 3E 9 7 8 1 0 9 8 1 5 8 4 4 6 ISBN: 978-1-098-15844-6
Beijing • Boston • Farnham • Sebastopol • Tokyo 第三版 NGINX 完全指南 实现高性能负载均衡的进阶实操指南 Derek DeJonghe
NGINX 完全指南 作者:Derek DeJonghe Authorized Simplified Chinese translation of the English edition of NGINX Cookbook, Third Edition (ISBN 9781098158439) © 2024 O'Reilly Media, Inc. This translation is published by permission of O'Reilly Media, Inc., which owns or controls all rights to publish and sell the same. 出版商:O'Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472。 所购的 O'Reilly 图书可用于教育、商业或促销用途。其中多数图书也有网络版(http://oreilly.com)。 有关更多信息,请联系我们的企业/机构销售部:800-998-9938 或 corporate@oreilly.com 。 策划编辑:John Devins 开发编辑:Gary O'Brien 制作编辑:Clare Laylock 文字编辑:Piper Editorial Consulting, LLC 英文版校对:Kim Cofer 索引:Potomac Indexing, LLC 内部设计:David Futato 封面设计:Karen Montgomery 插画:Kate Dullea 中文版校对:林静、熊平、易久平、孔令子 相关发布信息请参见:http://oreilly.com/catalog/errata.csp?isbn=9781098158439 O'Reilly 徽标是 O'Reilly Media, Inc. 的注册商标。《NGINX 完全指南》、封面图片和相关商业包 装是 O'Reilly Media, Inc. 的商标。 本书所述均为作者的个人观点,不代表出版商的立场。虽然出版商和作者已尽力确保本作品中所 包含信息和说明的准确性,但双方均不对其中的错误或遗漏承担任何责任,包括但不限于因使用 或依赖本作品而导致的损害赔偿责任。使用本作品中包含的信息和说明需要您自行承担风险。如 果本作品包含或描述的任何代码示例或其他技术受开源许可或他方知识产权的约束,您有责任确 保您的使用符合此类许可和/或权利。 本作品是 O'Reilly 和 NGINX 的合作成果之一。详情请参见我们的编辑独立性声明。
(This page has no text content)
目录 iv 前言 ............................................................................................................x 序文 .......................................................................................................... xii 1. 基础知识 ............................................................................................... 1 1.0 简介 1 1.1 在 Debian/Ubuntu 上安装 NGINX 1 1.2 通过 YUM 软件包管理器安装 NGINX 2 1.3 安装 NGINX Plus 3 1.4 验证安装 3 1.5 关键文件、目录和命令 4 1.6 使用 include 简化配置 6 1.7 提供静态内容 7 2. 高性能负载均衡 .................................................................................... 9 2.0 简介 9 2.1 HTTP 负载均衡 10 2.2 TCP 负载均衡 11 2.3 UDP 负载均衡 13 2.4 负载均衡方式 14 2.5 NGINX Plus 之 Sticky Cookie 17 2.6 NGINX Plus 之 Sticky Learn 18 2.7 NGINX Plus 之 Sticky Routing 19 2.8 NGINX Plus 之连接清空 20 2.9 被动健康检查 21
v | 目录 2.10 NGINX Plus 之主动健康检查 22 2.11 NGINX Plus 之慢启动 24 3. 流量管理 ............................................................................................. 25 3.0 简介 25 3.1 A/B 测试 25 3.2 使用 GeoIP 模块和数据库 27 3.3 基于国家 / 地区的访问限制 30 3.4 查找原始客户端 31 3.5 限制连接数 32 3.6 限制速率 34 3.7 限制带宽 35 4. 大规模可扩展的内容缓存 .................................................................... 37 4.0 简介 37 4.1 缓存区 37 4.2 缓存哈希键 39 4.3 缓存锁定 40 4.4 使用陈旧缓存 40 4.5 绕过缓存 41 4.6 NGINX Plus 之缓存清除 42 4.7 缓存切片 43 5. 可编程性和自动化 ............................................................................... 45 5.0 简介 45 5.1 NGINX Plus API 45 5.2 使用 NGINX Plus 的键值(Key-Value)存储功能 49 5.3 在 NGINX 中使用 njs 模块暴露 JavaScript 功能 51 5.4 使用通用编程语言扩展 NGINX 54 5.5 使用 Ansible 安装 56 5.6 使用 Chef 安装 58 5.7 使用 Consul 模板自动进行配置 59 6. 身份验证 ............................................................................................. 63 6.0 简介 63 6.1 HTTP 基本身份验证 63 6.2 身份验证子请求 65 6.3 使用 NGINX Plus 验证 JWT 66
目录 | vi 6.4 创建 JSON Web Key 68 6.5 使用 NGINX Plus 通过现有的 OpenID Connect SSO 验证用户身份 69 6.6 使用 NGINX Plus 验证 JSON Web Token(JWT) 70 6.7 使用 NGINX Plus 自动获取和缓存 JSON Web Key Set 71 6.8 将 NGINX Plus 配置为 SAML 身份验证的服务提供商 72 7. 安全控制 ............................................................................................. 77 7.0 简介 77 7.1 基于 IP 地址的访问 77 7.2 允许跨域资源共享(CORS) 78 7.3 客户端加密 79 7.4 高级客户端加密 81 7.5 Upstream 加密 83 7.6 保护 location 84 7.7 使用 secret 生成安全链接 84 7.8 使用过期日期保护 location 85 7.9 生成过期链接 86 7.10 HTTPS 重定向 88 7.11 在 NGINX 之前卸载 SSL/TLS 后重定向到 HTTPS 89 7.12 HTTP 严格传输安全协议 89 7.13 基于国家 / 地区的访问限制 90 7.14 提供多种安全方法 92 7.15 NGINX Plus 动态应用层 DDoS 防护 92 7.16 安装和配置 NGINX Plus 的 NGINX App Protect WAF 模块 94 8. HTTP/2 和 HTTP/3(QUIC) ............................................................. 99 8.0 简介 99 8.1 启用 HTTP/2 99 8.2 启用 HTTP/3 100 8.3 gRPC 102 9. 复杂的媒体串流 ................................................................................ 105 9.0 简介 105 9.1 传输 MP4 和 FLV 格式的文件 105 9.2 使用 NGINX Plus 的 HLS 模块进行流式传输 106 9.3 使用 NGINX Plus 的 HDS 模块进行流式传输 107 9.4 使用 NGINX Plus 限制带宽 108
vii | 目录 10. 云部署 ............................................................................................... 109 10.0 简介 109 10.1 自动配置 109 10.2 将 NGINX 虚拟机部署到云端 111 10.3 创建 NGINX 机器镜像 112 10.4 无需云原生负载均衡器将流量路由到 NGINX 节点 113 10.5 负载均衡器 Sandwich 115 10.6 通过动态扩展 NGINX 服务器实现负载均衡 117 10.7 创建 Google App Engine 代理 118 11. 容器 / 微服务 .................................................................................... 121 11.0 简介 121 11.1 使用 NGINX 作为 API 网关 122 11.2 在 NGINX Plus 中使用 DNS SRV 记录 126 11.3 使用官方 NGINX 容器镜像 127 11.4 创建 NGINX Dockerfile 128 11.5 构建 NGINX Plus 容器镜像 132 11.6 使用 NGINX 中的环境变量 133 11.7 来自 NGINX 的 NGINX Ingress Controller(Ingress 控制器) 134 12. 高可用性部署模式 ............................................................................. 137 12.0 简介 137 12.1 NGINX Plus HA(高可用性)模式 137 12.2 通过 DNS 实现负载均衡器的负载均衡 140 12.3 在 EC2 上实现负载均衡 141 12.4 NGINX Plus 配置同步 142 12.5 与 NGINX Plus 的状态共享和区域同步 144 13. 高级活动监控 .................................................................................... 147 13.0 简介 147 13.1 启用 NGINX stub 状态 147 13.2 启用 NGINX Plus 监控仪表盘 148 13.3 使用 NGINX Plus API 收集指标 150 13.4 在 NGINX 中使用 OpenTelemetry 153 13.5 Prometheus Exporter 模块 157
目录 | viii 14. 利用访问日志、错误日志和请求跟踪进行调试和故障排除 ............... 159 14.0 简介 159 14.1 配置访问日志 159 14.2 配置错误日志 161 14.3 转发日志到 Syslog 162 14.4 调试配置 163 14.5 请求跟踪 164 15. 性能调优 ........................................................................................... 167 15.0 简介 167 15.1 使用压测工具实现测试自动化 167 15.2 控制浏览器缓存 168 15.3 保持客户端长连接 169 15.4 保持上游长连接 169 15.5 响应缓冲 170 15.6 访问日志的缓冲 171 15.7 操作系统调优 172 索引 ........................................................................................................175
(This page has no text content)
前言 x 欢迎阅读 2024 版《NGINX 完全指南》。O'Reilly 已连续九年出版《NGINX 完全指 南》,我们不断进行更新以跟上 NGINX 做出的诸多改进。如今,NGINX 是全球最受欢 迎的 Web 服务器。该产品于 2004 年首次发布,并不断发展,以满足现代应用扩展、 保护和交付的需求。精心打造的 NGINX 具备卓越的灵活性和可扩展性,其功能从 Web 服务扩展到负载均衡、反向代理和 API 网关。主要公有云和 CDN 提供的许多负载均衡 服务实际上均基于 NGINX 的原代码,这充分彰显了 NGINX 的重要价值。 NGINX 还在不断挖掘更多可能性,增添重要功能。为 Kubernetes 打造的 NGINX Ingress Controller 与 NGINX 原生集成,可为管理东西向和南北向流量提供重要功能 —— 这是 Kubernetes 环境的一项关键要求。NGINX 还一直在扩展其身份验证和安全防护功 能 —— 但如果 NGINX 无法继续提供出色的速度、弹性和灵活性(这些都是现代分布 式应用的基本要求),那么这些高级功能就会都变得无关紧要。 《NGINX 完全指南》是最熟悉 NGINX 的一群专家编写的 NGINX 必备指南。无论是为 小型项目运行 NGINX 开源版,还是为跨多个区域的企业部署运行 NGINX Plus,也无 论是在本地还是在云端运行,《NGINX 完全指南》均可帮助您充分利用 NGINX。本书 提供了一百多条简单易学的实操指南,内容涉及 NGINX 的安装、针对几乎所有用例的 配置、安全防护和扩展,以及常见故障排除。 2024 版不仅更新了许多章节介绍 NGINX 的新功能,而且还增添了几个新章节,涉及 扩展的安全防护功能以及如何有效利用 HTTP/2、HTTP/3(QUIC)和 gRPC。技术和 应用的发展日新月异,NGINX 也不断与时俱进,旨在助您取得成功。NGINX 最初的愿
景是提供高度可扩展、可靠、快速且安全的 Web 服务。如今,我们不忘初心,竭尽全 力帮助我们的社区在任何环境中以任何规模自信从容地保护并部署所需应用。 敬请阅读最新版本,并随时分享您的感想。欢迎您提出宝贵意见。 —— Peter Beardmore 产品营销总监 F5 NGINX xi | 前言
序文 《NGINX 完全指南》旨在通过一些简单易懂的例子解析应用交付中真实存在的问题。本 书内容丰富全面,探讨了 NGINX 的大部分主要特性,可帮助您学习如何使用这些功能。 本书将先解释 NGINX 和 NGINX Plus 的安装程序以及一些供 NGINX 新手借鉴的基础 入门步骤。后面的内容将过渡到各种形式的负载均衡,并分章节提供了关于流量管理、 缓存和自动化的配套内容。第 6 章“身份验证”的涉及面很广,但同时也很重要,因为 NGINX 通常是 Web 流量进入应用的第一个入口点,也是应用层抵御 Web 攻击和漏洞 的第一道防线。书中还有许多章节介绍了 HTTP/3(QUIC)、流媒体、云、SAML Auth 和容器环境等前沿主题,最后又以一些更传统的运维主题收尾,例如监控、调试、性能 和运维技巧等。 我个人将 NGINX 用作一个多功能工具,相信本书也能帮您实现这一点。这是一款可靠、 好用又值得信赖的软件。希望本书能给您带来些许启发,帮助您运用 NGINX 解决棘手 的现实问题。 本书的使用惯例 本书使用了以下印刷惯例: 斜体 表示新术语、URL、电子邮件地址、文件名和文件扩展名。 等宽 在程序列表中以及在段落中引用程序元素时使用,这些元素包括变量或函数名称、 数据库、数据类型、环境变量、语句和关键字等。 xii
此元素表示一般注释。 此元素表示警告或注意事项。 O'Reilly 在线学习平台 40 多年来,O'Reilly Media 一直致力于提供技术和商业培训、 知识以及洞察,帮助企业取得成功。 我们拥有一个独一无二的专家和创新者网络,他们通过图书、文章和我们的在线学习平 台分享知识和专业技能。O'Reilly 在线学习平台允许您按需访问实时培训课程、深度学 习路径、交互式编码环境以及来自 O'Reilly 和其他 200 多家出版商的大量精选文本和 视频。如欲了解更多信息,请访问:http://oreilly.com 如何联系我们 如对本书有任何意见和问题,请发送给出版商: O'Reilly Media, Inc. 1005 Gravenstein Highway North Sebastopol, CA 95472 800-889-8969(美国或加拿大) 707-827-7019(国际或本地) 707-829-0104(传真) support@oreilly.com https://www.oreilly.com/about/contact.html 我们为本书建立了一个网页,上面列出了勘误表、示例和任何其他信息,访问地址: https://oreil.ly/nginx-cookbook-3e 有关我们的图书和课程的新闻和信息,请访问:https://oreilly.com 请关注我们的 LinkedIn:https://linkedin.com/company/oreilly-media 请关注我们的 Twitter:https://twitter.com/oreillymedia 请关注我们的 YouTube 视频:https://youtube.com/oreillymedia xiii | 序文
基础知识 第 1 章 1 1.0 简介 无论是 NGINX 开源版还是 NGINX Plus,您都要先在系统上安装它们并学习一些基础 知识。在本章中,您将学习如何安装 NGINX、主要配置文件位于何处以及管理命令是 什么,还将了解如何验证您的安装并向默认服务器发出请求。 本书中的一些实操指南将使用 NGINX Plus。请访问 https://nginx-cn.net,获取 NGINX Plus 免费试用版。 1.1 在 Debian/Ubuntu 上安装 NGINX 问题 您想要在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 解决方案 更新已配置源的软件包信息,并安装一些有助于配置官方 NGINX 软件包仓库的软件包: 下载并保存 NGINX 签名密钥: $ apt update $ apt install -y curl gnupg2 ca-certificates lsb-release \ debian-archive-keyring $ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ | tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null $ apt update $ apt install -y curl gnupg2 ca-certificates lsb-release \ debian-archive-keyring $ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ | tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
2 | 第 1 章:基础知识 使用 lsb_release 设置定义操作系统和版本名称的变量,然后创建一个 apt 源文件: $ OS=$(lsb_release -is | tr '[:upper:]' '[:lower:]') $ RELEASE=$(lsb_release -cs) $ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ http://nginx.org/packages/${OS} ${RELEASE} nginx" \ | tee /etc/apt/sources.list.d/nginx.list $ apt update $ apt install -y nginx $ systemctl enable nginx $ nginx [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1 $ OS=$(lsb_release -is | tr '[:upper:]' '[:lower:]') $ RELEASE=$(lsb_release -cs) $ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ http://nginx.org/packages/${OS} ${RELEASE} nginx" \ | tee /etc/apt/sources.list.d/nginx.list $ apt update $ apt install -y nginx $ systemctl enable nginx $ nginx [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1 再次更新软件包信息,然后安装 NGINX: 详解 本节提供的命令可指示高级打包工具(APT)软件包管理系统使用官方 NGINX 软件包 仓库。NGINX GPG 软件包签名密钥被下载并保存至文件系统的某个位置,以供 APT 使用。为 APT 提供签名密钥有助于 APT 系统验证仓库中的软件包。lsb_release 命 令用于自动确定操作系统和版本名称,用户可以在所有 Debian 或 Ubuntu 发布版本中 使用这些指令。apt update 命令指示 APT 系统从其已知的仓库中刷新软件包列表, 之后您便可以从官方 NGINX 仓库安装 NGINX 开源版。安装后,最后一个命令会启动 NGINX。 1.2 通过 YUM 软件包管理器安装 NGINX 问题 您想要在 Red Hat Enterprise Linux(RHEL)、Oracle Linux、AlmaLinux、Rocky Linux 或 CentOS 上安装 NGINX 开源版。 解决方案 创建一个名为 /etc/yum.repos.d/nginx.repo 的文件,其中包含以下内容:
修改文件,将 URL 中间的 OS 替换为 rhel 或 centos,具体取决于您的发行版本。然 后运行以下命令: $ yum -y install nginx $ systemctl enable nginx $ systemctl start nginx $ firewall-cmd --permanent --zone=public --add-port=80/tcp $ firewall-cmd --reload 详解 您刚创建的文件将指示 YUM 软件包管理系统使用官方 NGINX 开源版软件包仓库。后 面的命令将从官方仓库安装 NGINX 开源版,指示 systemd 在启动时启用 NGINX,并 告知它将其立即启动。如有必要,防火墙命令为传输控制协议(TCP)打开端口 80, 这是 HTTP 的默认端口。最后一个命令重新加载防火墙,以提交更改。 1.3 安装 NGINX Plus 问题 您想要安装 NGINX Plus。 解决方案 访问 NGINX 文档。选择您要将 NGINX Plus 安装到哪个操作系统,然后按照说明进行 操作。其安装说明与开源解决方案类似,但是您需要获取证书和密钥,以便对 NGINX Plus 仓库进行身份验证。 详解 NGINX 会及时更新这个仓库安装指南和 NGINX Plus 安装说明。这些说明因您的操作 系统和版本而略有不同,但都有一个共同点:您必须从 NGINX 门户获取证书和密钥并 提供给您的系统,以便对 NGINX Plus 仓库进行身份验证。 1.4 验证安装 问题 您希望验证 NGINX 是否安装成功并检查版本。 1.3 安装 NGINX Plus | 3
4 | 第 1 章:基础知识 解决方案 您可以使用以下命令验证 NGINX 是否安装成功并检查其版本: $ nginx -v nginx version: nginx/1.25.3 $ ps -ef | grep nginx root 1738 1 0 19:54 ? 00:00:00 nginx: master process nginx 1739 1738 0 19:54 ? 00:00:00 nginx: worker process $ curl localhost 如本例所示,该响应显示了其版本。 您可以使用以下命令确认 NGINX 是否正在运行: $ nginx -v nginx version: nginx/1.25.3 $ ps -ef | grep nginx root 1738 1 0 19:54 ? 00:00:00 nginx: master process nginx 1739 1738 0 19:54 ? 00:00:00 nginx: worker process $ curl localhost ps 命令列出了正在运行的进程。通过将该命令导入到 grep 中,您可以在输出中搜索 特定词。此示例使用 grep 搜索 nginx。结果显示有两个正在运行的进程:master 和 worker。如果 NGINX 正在运行中,您将始终可以看到一个 master 以及一个或多个 worker 进程。请注意,master 进程以 root 身份运行,因为默认情况下,NGINX 只有 使用最高权限才能正常运行。有关启动 NGINX 的说明,请参阅下一实操指南。要了解 如何将 NGINX 作为守护进程启动,请使用 init.d 或 systemd 方法。 要验证 NGINX 能否正确返回请求,请使用浏览器向您的机器发出请求或使用 curl。发 送请求时,请使用机器的 IP 地址或主机名。如果安装在本地,您可以使用 localhost, 如下所示: $ nginx -v nginx version: nginx/1.25.3 $ ps -ef | grep nginx root 1738 1 0 19:54 ? 00:00:00 nginx: master process nginx 1739 1738 0 19:54 ? 00:00:00 nginx: worker process $ curl localhost 您将看到 NGINX 欢迎页面默认的 HTML 站点。 详解 nginx 命令允许您与 NGINX 二进制文件交互,以便检查版本、列出已安装的模块、测 试配置以及向 master 进程发送信号。NGINX 必须在运行时才能服务请求。ps 命令是 一种确定 NGINX 是否正在运行(作为守护进程或是前台进程)的可靠方法。NGINX 默 认提供的配置在端口 80 上运行静态站点 HTTP 服务器。为了测试这一默认站点,您可 以使用 localhost 向机器发送 HTTP 请求,并应使用主机的 IP 地址和主机名。 1.5 关键文件、目录和命令 问题 您希望了解重要的 NGINX 目录和命令。
The above is a preview of the first 20 pages. Register to read the complete e-book.