1Panel 自带 OpenResty 中修改,自定义Nginx 的操作笔记
约 542 字大约 2 分钟
1PanelOpenRestyNginx
2025-07-31
1Panel 中默认安装的 Web 服务是基于 OpenResty(Nginx 增强版),它运行在 Docker 容器中。因此,无法直接使用系统命令 nginx
对其进行操作。若要修改其配置文件、自定义站点、或重载配置,必须在容器内进行。
大概操作步骤是:
- 进入 OpenResty 容器
- 定位配置文件路径
- 修改自定义配置(如:反代、端口、SSL)
- 测试配置语法
- 热重载或重启容器生效
操作步骤
查看 OpenResty 容器名称
可以使用 容器的名称 或者 容器ID 进行操作,运行命令:
docker ps
一般容器名为:1panel-openresty-xxxx
进入容器内部
docker exec -it 容器名 /bin/sh
# 示例:
# docker exec -it 1panel-openresty-1234 /bin/sh
找到 nginx 配置文件路径
OpenResty 的 nginx 配置通常位于:
/usr/local/openresty/nginx/conf/nginx.conf
/etc/nginx/nginx.conf
也可以运行:
find / -name nginx.conf 2>/dev/null
修改配置文件
编辑主配置或添加自定义配置:
vi /usr/local/openresty/nginx/conf/nginx.conf
或者在 conf.d/
目录下添加自己的 .conf
文件(推荐这种方式):
因为它会自动加载 conf.d
目录下的所有配置文件。
vi /usr/local/openresty/nginx/conf/conf.d/my_site.conf
示例配置(反代带端口服务):
server {
listen 443 ssl;
server_name panel.yumeng.icu;
ssl_certificate /ssl/fullchain.pem;
ssl_certificate_key /ssl/privkey.pem;
location / {
proxy_pass http://localhost:24246;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
注意:确保 .conf
文件被 nginx.conf
引入(include conf.d/*.conf;
)
测试配置语法
先找到 nginx 的真实路径:
find / -name nginx 2>/dev/null
你不能直接 nginx -t
,因为它会报错找不到命令,在容器内需要使用完整路径,大多数 OpenResty 会有:
/usr/local/openresty/nginx/sbin/nginx
然后执行语法检查:
/usr/local/openresty/nginx/sbin/nginx -t
使配置生效
若有 nginx
可执行文件:
/usr/local/openresty/nginx/sbin/nginx -s reload
若没有 CLI 工具(精简版容器,重启容器即可生效:
docker restart 容器名
推荐的配置目录结构
/usr/local/openresty/nginx/
├── conf/
│ ├── nginx.conf ← 主配置文件
│ └── conf.d/
│ └── my_site.conf ← 推荐自定义配置放这里
日后经常操作,可以写个脚本简化:
docker exec -it 1panel-openresty-xxxx sh -c "/usr/local/openresty/nginx/sbin/nginx -t && /usr/local/openresty/nginx/sbin/nginx -s reload"
贡献者
更新日志
2025/8/15 14:25
查看所有更新日志
7eec2
-Document organization于9de0b
-全局优化于b1c4a
-文档迁移于