nginx 是什么

一句话总结

Nginx 是一个高性能的 Web 服务器和反向代理,通过事件驱动架构处理 HTTP 流量,在我们的架构中跑在 n1 机器上,负责所有站点的请求路由和 TLS 终端。


🤔 为什么会有它 / 解决了什么问题

传统的 Apache 服务器每个连接开一个进程,高并发下内存爆炸。Nginx 用事件驱动模型让单进程处理成千上万的并发连接,解决了 C10K 问题。


🔍 具体原理 / 运作逻辑

Nginx 用异步非阻塞的事件循环处理请求。主进程读取配置并管理工作进程,工作进程执行实际 I/O 操作。每个请求在单个连接上处理,不创建新进程。


🧭 什么情况下会用到 / 什么场景会遇到它

  • 站点创建后 Press 自动通过 Agent Job 调用 nginx_reload_manager 更新 upstream 路由
  • 浏览器访问 *.getgrowth.app 的任何站点,请求先到达 n1 的 nginx,再由它转发给对应 bench 容器

🛠️ 怎么上手 / 在哪操作

Nginx 配置由 Press 的 Agent 管理和渲染,日常不需要手动编辑;排查问题时 SSH 到 n1 机器检查 /etc/nginx/


⚖️ 副作用 / 代价 / 取舍

  • 动态模块不支持热加载,增加功能需要重新编译或换用 OpenResty
  • 配置语法严格,少个分号就导致 reload 失败,生产环境改配置必须 nginx -t 先测试

🕰️ 来历

  • 谁提出/创造的:俄罗斯工程师 Igor Sysoev
  • 什么时候出现的:2004 年(开源发布),2011 年成立公司 Nginx Inc.

🔗 关联 / 经常一起出现的概念

  • [反向代理 (Reverse Proxy)]:Nginx 在 Growth App 中的核心角色——接受客户端请求,转发给上游的 bench 容器,再将结果返回给客户端
  • SSL]:Nginx 负责 TLS 终端,外部 HTTPS 在 n1 解密为内部 HTTP 转发给后端

⚠️ 注意事项 / 常见误区

配置文件改完后必须 nginx -t 验证,直接 reload 畸形配置会导致 nginx 不启动,全站下线。


📎 记忆锚点

食堂打饭窗口的排队引导员——你告诉我你要哪个窗口(域名),我告诉你该排哪条队(upstream)。


📝 更新日志

日期改动原因
2026-07-13首次创建-