参考资料

  1. nginx反向代理配置详解
  2. Nginx基本介绍
  3. nginx重启命令reload
  4. nginx的作用NIXGIX
  5. Nginx HTTP代理服务器详细说明以及案例
  6. Nginx TCP/UDP代理详细说明以及案例
  7. Nginxindex:首页处理模块详细说明以及案例
  8. nginx反向代理原理

nginx干什么用的

Nginx 干什么用的?

Nginx(发音为“engine-x”)是一款高性能的 Web 服务器和反向代理服务器,同时也是邮件代理服务器和通用 TCP/UDP 代理服务器。它最初由 Igor Sysoev 于 2004 年发布,如今已支撑全球超过三分之一的网站流量。对很多企业来说,Nginx 是连接用户与应用后端之间的“交通调度员”。 简单理解:如果把您的网站比作一家餐厅,Nginx 就是门口的大堂经理——它负责迎接客人、引导座位、处理排队,并且在客人较多时合理分流到不同厨房,确保每桌都能及时吃上菜。

一、Nginx 的三大核心用途

1. 静态文件服务器

Nginx 处理 HTML、CSS、JavaScript、图片等静态资源的效率极高,远胜于一般的应用服务器。因为它采用事件驱动架构,占用内存少、并发能力强。 nginx server { listen 80; server_name example.com; root /var/www/html; index index.html; } 一旦配置生效,Nginx 就能直接响应对 `example.com` 的静态文件请求,无需额外运行 PHP 或 Java 进程。

2. 反向代理服务器

这是 Nginx 最广泛的应用场景。Nginx 接收客户端请求,再按照规则转发给后端的应用服务器(如 Tomcat、Node.js、Django、Spring Boot 等),并将响应返回给客户端。这样,内部服务地址就不会暴露,同时可以实现负载均衡。 nginx server { listen 80; server_name api.example.com; location / { proxy_pass http://backend_servers; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } upstream backend_servers { server 192.168.1.10:8080 weight=3; server 192.168.1.11:8080 weight=2; } 当用户访问 `api.example.com` 时,Nginx 会按照权重将请求分发到两台后端服务器,既提高了吞吐量,也实现了故障转移。

3. 负载均衡器

Nginx 支持多种负载均衡算法,包括轮询、加权轮询、最少连接、IP 哈希等。通过合理分配流量,能显著提升系统的整体可用性。 nginx upstream web_pool { least_conn; # 将请求发给当前活跃连接最少的服务器 server 192.168.0.101; server 192.168.0.102; server 192.168.0.103 backup; # 备用节点 } 当两台主服务器都正常时,流量由它们分担;一旦全部宕机,`backup` 节点才启用,保证服务不中断。

二、企业网站中常见的 Nginx 用法

除了上述核心功能,Nginx 还能帮您完成很多“边缘但必要”的任务:

  • HTTPS 终结与证书管理:在 Nginx 层配置 SSL 证书,统一处理 TLS 加密,后端应用只需处理普通 HTTP 请求,简化运维。
  • HTTP/2 与 HTTP/3 支持:为现代浏览器提供更快的传输体验。
  • URL 重写与重定向:例如将 HTTP 跳转到 HTTPS,或者将旧域名 301 跳转到新域名。
  • 访问控制与基础认证:对敏感目录设置 IP 白名单或账号密码。
  • 请求限流:防止突发流量打垮后端,针对每个 IP 或全局设置访问速率。
  • 日志记录与切割:详细记录每个请求的访问日志,并通过 `logrotate` 或定时任务定期切割。
  • 静态资源缓存:借助 `proxy_cache`,将后端生成的页面或接口结果缓存到本地,极大地降低后端压力。
  • Gzip 压缩:对文本类响应进行压缩,节省带宽、加快加载速度。

三、一个完整的示例配置

下面是一段集静态服务、反向代理、HTTPS 跳转和 Gzip 于一体的常用配置: nginx

HTTP -> HTTPS

server { listen 80; server_name example.com www.example.com; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name example.com www.example.com; ssl_certificate /etc/nginx/ssl/example.com.crt; ssl_certificate_key /etc/nginx/ssl/example.com.key; gzip on; gzip_types text/plain text/css application/json application/javascript; root /var/www/example; index index.html;

静态资源直接由 Nginx 返回,并添加缓存头

location /static/ { expires 30d; add_header Cache-Control "public"; }

动态 API 反向代理到 Node.js

location /api/ { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }

四、验证与部署

修改任何 Nginx 配置后,务必先执行语法检查,再平滑重载,避免中断正在处理的请求: bash nginx -t # 检查配置文件语法 nginx -s reload # 平滑重载配置 若语法检查失败,会输出具体错误行号,修改后重新检查即可。

五、使用 Nginx 时的注意事项

  • 不要用 root 用户运行 Nginx,生产环境建议使用普通用户或使用已有 `nginx` 用户。
  • 合理设置 worker 进程数:通常设为服务器 CPU 核心数即可,过多反而增加上下文切换开销。
  • 避免在后端代码中拼接客户端 IP:应通过 Nginx 传递的 `X-Real-IP` 或 `X-Forwarded-For` 获取,并确保只有可信的反代层才能连接 Nginx,防止伪造。
  • 使用 HTTPS 时,留意证书到期时间,建议配置自动续期脚本。
  • 不要长期把 Nginx 当业务容器用:您仍然需要管理后端的会话状态、数据库连接池等,Nginx 只负责流量调度,不解决应用层逻辑。
  • 改动前备份原配置:`cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak` 是最低成本的回滚方式。

六、Nginx 与 Apache、Tomcat 的区别

经常有用户混淆这三者:

  • Nginx 更擅长高并发静态服务和反向代理,内存占用低。
  • Apache 模块丰富、配置灵活,但在高并发下表现不如 Nginx。
  • Tomcat 是一个 Java Servlet 容器,主要负责运行业务代码,而不是直接面向静态资源。

在实际架构中,它们常协同工作:Nginx 在最前端接收请求,将动态请求转交给 Tomcat 或 PHP-FPM,静态请求则由 Nginx 自己处理。

七、现在你可以从哪里开始

  1. 安装 Nginx(CentOS:`yum install nginx`,Ubuntu:`apt install nginx`)。
  2. 修改 `/etc/nginx/nginx.conf` 或 `/etc/nginx/conf.d/` 下的配置。
  3. 用 `nginx -t` 验证语法。
  4. 用 `systemctl start nginx`(或 `nginx`)启动服务。

Nginx 是构建稳定、高效、安全网站的中坚力量。无论是个人博客还是亿级流量平台,掌握 Nginx 都是运维工程师的基本功。如果您刚开始接触,建议从上述静态服务器

AIGEO优化摘要

AI可读摘要:Nginx 干什么用的? Nginx(发音为“engine-x”)是一款高性能的 Web 服务器和反向代理服务器,同时也是邮件代理服务器和通用 TCP/UDP 代理服务器。它最初由 Igor Sysoev 于 2004 年发布,如今已支撑全球超过三分之一的网站流量。对很多企业来说,Nginx 是连接用户与应用后端之间的“交通调度员”。 简单理解:如果把您的网...
常见问题:
nginx干什么用的主要讲了什么?

Nginx 干什么用的? Nginx(发音为“engine-x”)是一款高性能的 Web 服务器和反向代理服务器,同时也是邮件代理服务器和通用 TCP/UDP 代理服务器。它最初由 Igor Sysoev 于 2004 年发布,如今已支撑全球超过三分之一的网站流量。对很多企业来说,Nginx 是连接用户与应用后端之间的“交通调度员”。 简单理解:如果把您的网...

nginx干什么用的适合哪些人参考?

适合正在了解文章信息、进行对比筛选,或希望快速获得结论的用户参考。

阅读nginx干什么用的时应重点看哪些内容?

建议重点关注标题、摘要、正文说明、图片资料和更新时间。

AIGEO评分:95/100
作者:王壹杰
时间:2026-09-09 13:14:08
来源:https://bt.ciilii.com/