一、前言为什么是 Nginx在当今的互联网世界无论是访问一个简单的个人博客还是使用复杂的电商平台你几乎都在和Nginx打交道。作为全球最流行的 Web 服务器和反向代理软件之一Nginx 以其高性能、高并发、低资源消耗和配置灵活的特点成为了现代 Web 架构中不可或缺的基石。本文将带你从零开始全面了解 Nginx 是什么、能做什么并手把手教你完成在 Linux 系统上的安装与初步验证。核心价值掌握 Nginx 的基础是你迈向高性能 Web 服务和微服务架构的第一步二、Nginx 是什么2.1 基本定义Nginx发音为 “engine-x”是一款开源的、高性能的HTTP 服务器、反向代理服务器同时也支持 IMAP/POP3/SMTP 等协议。它由俄罗斯开发者 Igor Sysoev 于 2004 年首次发布旨在解决 C10K即单机处理一万并发连接问题。2.2 核心优势高并发基于异步、非阻塞的事件驱动模型epoll/kqueue能够轻松应对数万甚至数十万的并发连接。低内存消耗相比传统的 ApacheNginx 在处理静态文件和高并发请求时内存占用极低。高性能静态文件处理速度极快是理想的静态资源服务器。模块化设计功能通过模块扩展核心保持精简稳定性和安全性高。热部署支持在不中断服务的情况下更新配置或升级版本。三、Nginx 能做什么核心应用场景Nginx 的用途非常广泛以下是几个最常见的场景场景描述1. Web 服务器直接对外提供服务高效地处理和返回HTML、CSS、JavaScript、图片等静态资源。2. 反向代理接收客户端请求并将其转发给后端的应用服务器如 Tomcat, Spring Boot, Node.js。对外客户端只看到 Nginx对内Nginx 隐藏了后端服务器的细节。这是微服务架构中最常见的用法。3. 负载均衡当后端有多个应用服务器实例时Nginx 可以作为流量分发器将请求按照轮询、加权轮询、IP哈希等策略分配到不同的服务器上从而提高系统的整体吞吐量和可用性。4. 动静分离将网站的动态请求需要后端计算和静态请求直接读取文件分开处理。Nginx 处理所有静态请求动态请求则代理给后端应用服务器。这能极大减轻后端压力。5. 安全与缓存可以配置 SSL/TLS 实现 HTTPS 加密也可以作为缓存层缓存后端响应减少对后端的重复请求。四、动手实践Nginx 安装以 CentOS 为例我们将通过两种主流方式来安装 Nginx使用官方 YUM 源推荐和源码编译安装。4.1 方式一使用 YUM 源安装简单快捷这是最推荐给初学者的方式因为它简单、快速并且便于后续的更新和管理。步骤 1安装 EPEL 源由于 Nginx 不在 CentOS 默认的 YUM 源中我们需要先安装 EPELExtra Packages for Enterprise Linux扩展源。sudo yum install -y epel-release步骤 2安装 Nginxsudo yum install -y nginx步骤 3启动并设置开机自启# 启动 Nginx sudo systemctl start nginx # 设置开机自启 sudo systemctl enable nginx # 查看状态 sudo systemctl status nginx4.2 方式二源码编译安装高度定制如果你需要特定的模块或对 Nginx 进行深度定制可以选择从源码编译安装。步骤 1安装编译依赖sudo yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-develgcc: C语言编译器。pcre/pcre-devel: 用于支持正则表达式rewrite模块必需。zlib/zlib-devel: 用于支持 gzip 压缩。openssl/openssl-devel: 用于支持 HTTPS。步骤 2下载并解压 Nginx 源码前往 Nginx 官网 获取最新稳定版源码链接。# 下载 (以 1.26.1 为例) wget https://nginx.org/download/nginx-1.26.1.tar.gz # 解压 tar -zxvf nginx-1.26.1.tar.gz cd nginx-1.26.1步骤 3配置编译选项./configure \ --prefix/usr/local/nginx \ # 安装目录 --with-http_ssl_module \ # 启用SSL模块 --with-http_v2_module \ # 启用HTTP/2 --with-http_stub_status_module # 启用状态信息模块你可以根据需要添加或移除模块。步骤 4编译并安装make sudo make install步骤 5启动 Nginx# 进入安装目录 cd /usr/local/nginx # 启动 sudo sbin/nginx # 重载配置平滑重启 sudo sbin/nginx -s reload五、验证安装是否成功无论采用哪种安装方式最后一步都是验证 Nginx 是否正常工作。确保防火墙开放 80 端口# 对于 firewalld sudo firewall-cmd --permanent --add-port80/tcp sudo firewall-cmd --reload在浏览器中访问你的服务器 IP 地址http://your_server_ip如果一切顺利你应该会看到“Welcome to nginx!”的默认欢迎页面。这标志着你的 Nginx 已经成功安装并运行六、Nginx 基础目录结构YUM 安装了解 Nginx 的目录结构对于后续的配置和维护至关重要。/etc/nginx/: 主配置文件目录。nginx.conf:主配置文件所有核心配置都在这里。conf.d/: 存放额外的配置文件通常以.conf结尾会被主配置文件自动包含。/usr/share/nginx/html/:默认的 Web 根目录存放网站的静态文件。/var/log/nginx/:日志文件目录。access.log: 访问日志。error.log: 错误日志。/usr/sbin/nginx: Nginx 的可执行文件。七、结语感谢您的阅读如果你有任何疑问或想要分享的经验请在评论区留言交流
Nginx介绍与安装
发布时间:2026/5/20 17:51:32
一、前言为什么是 Nginx在当今的互联网世界无论是访问一个简单的个人博客还是使用复杂的电商平台你几乎都在和Nginx打交道。作为全球最流行的 Web 服务器和反向代理软件之一Nginx 以其高性能、高并发、低资源消耗和配置灵活的特点成为了现代 Web 架构中不可或缺的基石。本文将带你从零开始全面了解 Nginx 是什么、能做什么并手把手教你完成在 Linux 系统上的安装与初步验证。核心价值掌握 Nginx 的基础是你迈向高性能 Web 服务和微服务架构的第一步二、Nginx 是什么2.1 基本定义Nginx发音为 “engine-x”是一款开源的、高性能的HTTP 服务器、反向代理服务器同时也支持 IMAP/POP3/SMTP 等协议。它由俄罗斯开发者 Igor Sysoev 于 2004 年首次发布旨在解决 C10K即单机处理一万并发连接问题。2.2 核心优势高并发基于异步、非阻塞的事件驱动模型epoll/kqueue能够轻松应对数万甚至数十万的并发连接。低内存消耗相比传统的 ApacheNginx 在处理静态文件和高并发请求时内存占用极低。高性能静态文件处理速度极快是理想的静态资源服务器。模块化设计功能通过模块扩展核心保持精简稳定性和安全性高。热部署支持在不中断服务的情况下更新配置或升级版本。三、Nginx 能做什么核心应用场景Nginx 的用途非常广泛以下是几个最常见的场景场景描述1. Web 服务器直接对外提供服务高效地处理和返回HTML、CSS、JavaScript、图片等静态资源。2. 反向代理接收客户端请求并将其转发给后端的应用服务器如 Tomcat, Spring Boot, Node.js。对外客户端只看到 Nginx对内Nginx 隐藏了后端服务器的细节。这是微服务架构中最常见的用法。3. 负载均衡当后端有多个应用服务器实例时Nginx 可以作为流量分发器将请求按照轮询、加权轮询、IP哈希等策略分配到不同的服务器上从而提高系统的整体吞吐量和可用性。4. 动静分离将网站的动态请求需要后端计算和静态请求直接读取文件分开处理。Nginx 处理所有静态请求动态请求则代理给后端应用服务器。这能极大减轻后端压力。5. 安全与缓存可以配置 SSL/TLS 实现 HTTPS 加密也可以作为缓存层缓存后端响应减少对后端的重复请求。四、动手实践Nginx 安装以 CentOS 为例我们将通过两种主流方式来安装 Nginx使用官方 YUM 源推荐和源码编译安装。4.1 方式一使用 YUM 源安装简单快捷这是最推荐给初学者的方式因为它简单、快速并且便于后续的更新和管理。步骤 1安装 EPEL 源由于 Nginx 不在 CentOS 默认的 YUM 源中我们需要先安装 EPELExtra Packages for Enterprise Linux扩展源。sudo yum install -y epel-release步骤 2安装 Nginxsudo yum install -y nginx步骤 3启动并设置开机自启# 启动 Nginx sudo systemctl start nginx # 设置开机自启 sudo systemctl enable nginx # 查看状态 sudo systemctl status nginx4.2 方式二源码编译安装高度定制如果你需要特定的模块或对 Nginx 进行深度定制可以选择从源码编译安装。步骤 1安装编译依赖sudo yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-develgcc: C语言编译器。pcre/pcre-devel: 用于支持正则表达式rewrite模块必需。zlib/zlib-devel: 用于支持 gzip 压缩。openssl/openssl-devel: 用于支持 HTTPS。步骤 2下载并解压 Nginx 源码前往 Nginx 官网 获取最新稳定版源码链接。# 下载 (以 1.26.1 为例) wget https://nginx.org/download/nginx-1.26.1.tar.gz # 解压 tar -zxvf nginx-1.26.1.tar.gz cd nginx-1.26.1步骤 3配置编译选项./configure \ --prefix/usr/local/nginx \ # 安装目录 --with-http_ssl_module \ # 启用SSL模块 --with-http_v2_module \ # 启用HTTP/2 --with-http_stub_status_module # 启用状态信息模块你可以根据需要添加或移除模块。步骤 4编译并安装make sudo make install步骤 5启动 Nginx# 进入安装目录 cd /usr/local/nginx # 启动 sudo sbin/nginx # 重载配置平滑重启 sudo sbin/nginx -s reload五、验证安装是否成功无论采用哪种安装方式最后一步都是验证 Nginx 是否正常工作。确保防火墙开放 80 端口# 对于 firewalld sudo firewall-cmd --permanent --add-port80/tcp sudo firewall-cmd --reload在浏览器中访问你的服务器 IP 地址http://your_server_ip如果一切顺利你应该会看到“Welcome to nginx!”的默认欢迎页面。这标志着你的 Nginx 已经成功安装并运行六、Nginx 基础目录结构YUM 安装了解 Nginx 的目录结构对于后续的配置和维护至关重要。/etc/nginx/: 主配置文件目录。nginx.conf:主配置文件所有核心配置都在这里。conf.d/: 存放额外的配置文件通常以.conf结尾会被主配置文件自动包含。/usr/share/nginx/html/:默认的 Web 根目录存放网站的静态文件。/var/log/nginx/:日志文件目录。access.log: 访问日志。error.log: 错误日志。/usr/sbin/nginx: Nginx 的可执行文件。七、结语感谢您的阅读如果你有任何疑问或想要分享的经验请在评论区留言交流