名称: nginx-config-creator
描述: "为服务创建标准的 Nginx/OpenResty 反向代理配置文件并重新加载 Web 服务器。具备安全检查与环境感知功能。主要参数为服务名称、域名和端口。"
元数据:
openclaw:
requires:
bins: ["bash", "docker"]
本技能用于自动化创建 Nginx/OpenResty 反向代理配置。它兼顾易用性与安全性,具备环境感知和关键的安全检查机制。
为获得最大便利性,建议在主机系统上设置以下环境变量:
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 环境变量。nginx -t 的完整错误信息。.conf 文件。nginx -t。nginx -s reload 重新加载 Nginx。场景 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 服务器不受影响。