OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  nginx-config-creator: 快速创建标准的 Nginx/OpenResty 反向代理配置

nginx-config-creator: 快速创建标准的 Nginx/OpenResty 反向代理配置

 
  authentication ·  2026-02-02 10:44:25 · 3 次点击  · 0 条评论  

名称: nginx-config-creator
描述: "为服务创建标准的 Nginx/OpenResty 反向代理配置文件并重新加载 Web 服务器。具备安全检查与环境感知功能。主要参数为服务名称、域名和端口。"
元数据:
openclaw:
requires:
bins: ["bash", "docker"]


Nginx 配置生成器(企业级)

本技能用于自动化创建 Nginx/OpenResty 反向代理配置。它兼顾易用性与安全性,具备环境感知和关键的安全检查机制。

功能特性

  • 环境感知:通过读取环境变量中的配置来简化命令。
  • 安全检查:包含“熔断”机制。在应用配置前进行测试,若测试失败则自动回滚,防止 Web 服务器停机。

前置条件(推荐)

为获得最大便利性,建议在主机系统上设置以下环境变量:

  • NGINX_CONFIG_PATH:Nginx conf.d 目录的绝对路径。
  • NGINX_CONTAINER_NAME:正在运行的 Nginx/OpenResty Docker 容器名称。

如果未设置这些变量,则必须通过命令行参数提供。

核心操作:scripts/create-and-reload.sh

此脚本执行全部操作。

输入(命令行参数)

  • --service-name:(必需)服务的简称(例如 grafana)。
  • --domain:(必需)根域名(例如 example.com)。
  • --port:(必需)服务运行的本地端口(例如 3000)。
  • --config-path:(可选)Nginx conf.d 目录的路径。会覆盖 NGINX_CONFIG_PATH 环境变量。
  • --container-name:(可选)Nginx Docker 容器名称。会覆盖 NGINX_CONTAINER_NAME 环境变量。

输出

  • 成功时:打印其执行步骤的详细日志和最终成功消息。
  • 失败时:向 stderr 输出描述性错误信息并退出。如果在 Nginx 配置测试期间失败,将显示 nginx -t 的完整错误信息。

执行流程

  1. 解析参数与环境:脚本从命令行参数和环境变量中收集所有必要的路径和名称。
  2. 生成配置:在目标目录中创建 .conf 文件。
  3. 测试配置(安全检查):在指定的容器内执行 nginx -t
  4. 决策与执行
    • 如果测试通过,则继续通过 nginx -s reload 重新加载 Nginx。
    • 如果测试失败,则自动删除生成的文件(回滚)并报告错误。
  5. 报告结果:向用户告知最终结果。

使用示例

场景 1:已预先设置环境变量

# 为后续使用设置环境变量
export NGINX_CONFIG_PATH="/path/to/your/nginx/conf.d"
export NGINX_CONTAINER_NAME="your_nginx_container"

# 现在,命令非常简单:
bash skills/nginx-config-creator/scripts/create-and-reload.sh \
  --service-name "grafana" \
  --domain "example.com" \
  --port "3000"

场景 2:未设置环境变量(通过参数提供所有信息)

bash skills/nginx-config-creator/scripts/create-and-reload.sh \
  --service-name "grafana" \
  --domain "example.com" \
  --port "3000" \
  --config-path "/path/to/your/nginx/conf.d" \
  --container-name "your_nginx_container"

失败处理策略

  • 缺少参数:如果缺少必需的参数/环境变量,脚本将报错退出。
  • nginx -t 失败:本技能设计为安全优先。它不会尝试重新加载损坏的配置。它会自动清理并显示确切的错误信息,确保正在运行的 Web 服务器不受影响。
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor