在 1Panel 里建站、配反向代理、申请 SSL 证书——这些操作大多数用户都做过。但很少有人注意到:这一切背后,实际上是同一个程序在处理所有的 HTTP 请求。它既不叫"1Panel Web 服务",也不是你在应用商店单独安装的东西,而是 OpenResty。
这篇文章从 Nginx 和 OpenResty 各自是什么讲起,厘清两者的关系,然后落脚到 1Panel 的实际使用场景。
Nginx
Nginx(读作 "engine-x")由 Igor Sysoev 开发,2004 年发布,以 2-clause BSD License 开源。它是一个 HTTP Web 服务器,同时也是反向代理、负载均衡器、TCP/UDP 代理和邮件代理服务器。
Nginx 能流行至今,核心原因是架构设计:事件驱动、非阻塞 I/O、Master-Worker 多进程模型。它不像早期的 Apache 那样为每个请求创建线程或进程,而是用少量 Worker 进程处理大量并发连接。官方数据显示,10,000 个空闲 HTTP keep-alive 连接只占用约 2.5MB 内存。
Nginx 的功能边界在于:它本身由 C 模块构成,扩展功能需要在编译时引入模块,运行时无法动态加载逻辑。
OpenResty
OpenResty® 由 章亦春(agentzh)发起,以 Nginx 为核心,嵌入 LuaJIT 和 ngx_lua 模块,并捆绑了大量 Lua 库与第三方 Nginx 模块。官方的定位是:
"让你的 Web 服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如 MySQL、PostgreSQL、Memcached 以及 Redis 等都进行一致的高性能响应。"
OpenResty 在官网上被称为"高性能 Web 平台",而不仅仅是 Web 服务器——这个措辞是有意的。
OpenResty 和 Nginx 的关系
OpenResty 是 Nginx 的超集。它包含完整的 Nginx 核心,在此之上增加了:
LuaJIT:Lua 的即时编译运行时,性能接近 C
ngx_lua 模块(现更名为 lua-Nginx-module):将 Lua 脚本嵌入 Nginx 的请求处理流程
一批常用 Lua 库:
lua-resty-redis、lua-resty-mysql、lua-resty-http等
这意味着:Nginx 能做的,OpenResty 都能做;反过来不成立。
两者更本质的区别在于扩展方式:
Nginx 的请求处理流程分为多个阶段(rewrite、access、content、log 等),OpenResty 允许在每个阶段注入 Lua 代码。这让复杂的鉴权、限流、动态路由、WAF 规则等逻辑,都可以在 Nginx 进程内部完成,而不需要额外的后端服务。

在 1Panel 里,OpenResty 做了什么
1Panel 的 OpenResty 不是应用商店里的一个可选插件,而是 1Panel Web 服务层的核心组件。你在 1Panel 里看不到一个叫"Nginx"的应用,因为 OpenResty 已经是它的默认 Web 服务器方案,随 1Panel 部署而存在。
以下是 OpenResty 在 1Panel 日常使用中实际承担的工作:
建站:每个网站对应一个 server 块
在 1Panel 的"网站"模块新建一个站点时,1Panel 会在 OpenResty 的配置目录里生成对应的 server 块。界面上填写的域名、网站根目录、PHP 版本、访问日志路径等,都会转化为标准的 Nginx 配置语法写入这个文件。
本质上,1Panel 是在帮你管理 OpenResty 的配置文件——图形界面操作对应的是后台的配置生成与 reload 动作。
反向代理:把域名指向容器里的应用
这是最常见的用法。假设你用 Docker 跑了一个应用,监听在本机的某个端口,需要通过域名访问它。在 1Panel 里新建网站 → 选择"反向代理" → 填入目标地址,OpenResty 就会接管进入的 HTTP/HTTPS 请求并转发给这个应用。
反向代理是 Nginx / OpenResty 的核心能力之一,1Panel 通过图形界面将这个过程做到了几乎零配置。
HTTPS:证书申请与自动配置
1Panel 集成了 ACME 协议,可以自动向 Let's Encrypt 申请 SSL/TLS 证书,并将证书路径写入对应网站的 OpenResty 配置,启用 HTTPS。证书续期也由 1Panel 自动处理。
HTTP 到 HTTPS 的跳转(301 重定向)同样通过 OpenResty 的 return 指令实现。
伪静态 / URL 重写
WordPress、Halo 等 CMS 都需要配置伪静态规则,否则文章详情页会 404。1Panel 在网站配置中提供了"伪静态"选项,预置了常见 CMS 的 rewrite 规则模板,也支持手动填写自定义规则。这些规则最终写入 OpenResty 配置,由其 ngx_http_rewrite_module 执行。
WAF(专业版):Lua 脚本实现的 Web 防火墙
1Panel 专业版内置了 WAF(Web 应用防火墙),支持 SQL 注入、XSS、CC 攻击拦截、IP 黑白名单、访问频率限制等。这个 WAF 的底层实现,正是 OpenResty 的 Lua 脚本能力:在请求的 access 阶段,Lua 代码对请求内容进行检查,命中规则则直接拦截并返回错误响应,整个过程在 Nginx 进程内完成,不需要将请求转发到外部服务再判断。
社区版没有内置 WAF,如需防护需自行配置 OpenResty 规则或安装第三方方案(如 uuWAF)。
自定义配置
1Panel 的网站配置支持填写自定义 Nginx 配置片段,插入到对应 server 块的指定位置。对于需要精细控制缓存策略、请求头、连接超时等参数的场景,可以直接写 Nginx 指令,不受图形界面的限制。
总结:OpenResty 在 1Panel 中的定位
Nginx 是当今使用最广泛的 Web 服务器,以事件驱动架构和低资源占用著称。OpenResty 在 Nginx 的基础上嵌入了 LuaJIT,使其从"配置驱动"变为"可编程平台",在保持 Nginx 性能特性的同时,支持在请求处理流程的任意阶段注入 Lua 逻辑。
在 1Panel 中,OpenResty 不是一个可选组件,而是贯穿网站管理、反向代理、HTTPS、URL 重写、WAF 等核心功能的 Web 服务层。用户通过图形界面完成的大多数 Web 相关操作,最终都落实为 OpenResty 配置文件的生成与管理。
参考资料
OpenResty 官网:https://openresty.org/cn/
Nginx 官网:https://Nginx.org/en/