温馨提示×

Debian怎么部署Swagger UI

小樊
46
2026-08-25 14:47:54
栏目: 智能运维

在 Debian 上部署 Swagger UI,常见有几种方式,下面按从简单到正式给你说明,推荐你根据用途选择。


一、最简单方式(静态文件,适合本地/内网)

1️⃣ 安装必要工具

sudo apt update
sudo apt install -y wget unzip nginx

2️⃣ 下载 Swagger UI

cd /tmp
wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v5.17.14.zip
unzip v5.17.14.zip

你可以去 GitHub 查看最新版本:
https://github.com/swagger-api/swagger-ui/releases


3️⃣ 部署到 Nginx

sudo mkdir -p /var/www/swagger
sudo cp -r swagger-ui-5.17.14/dist/* /var/www/swagger/

4️⃣ 配置 Nginx

编辑配置:

sudo nano /etc/nginx/sites-available/swagger

内容示例:

server {
    listen 80;
    server_name localhost;

    root /var/www/swagger;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

启用配置:

sudo ln -s /etc/nginx/sites-available/swagger /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

5️⃣ 访问 Swagger UI

浏览器打开:

http://服务器IP

二、修改默认 Swagger JSON(常用)

编辑:

sudo nano /var/www/swagger/swagger-initializer.js

修改这一行:

url: "https://petstore.swagger.io/v2/swagger.json",

改为你自己的接口文档地址,例如:

url: "http://服务器IP/api/v1/openapi.json",

三、使用 Docker 部署(推荐生产环境 ✅)

如果你已安装 Docker:

docker run -d \
  -p 8080:8080 \
  -e SWAGGER_JSON=/tmp/swagger.json \
  -v $(pwd)/swagger.json:/tmp/swagger.json \
  swaggerapi/swagger-ui

或直接访问官方示例:

docker run -p 8080:8080 swaggerapi/swagger-ui

访问:

http://服务器IP:8080

四、和后端 API 一起部署(最常见)

✅ 搭建结构:

/api      → 后端服务(Java / Python / Node)
/swagger  → Swagger UI

✅ Nginx 配置示例:

location /api/ {
    proxy_pass http://127.0.0.1:8080/;
}

location /swagger/ {
    root /var/www;
    index index.html;
}

五、常见问题

❓ 页面打不开

  • 防火墙:sudo ufw allow 80
  • SELinux:Debian 默认关闭
  • Nginx 是否运行:systemctl status nginx

❓ 接口跨域

后端需要允许 CORS,例如:

Access-Control-Allow-Origin: *

六、总结(推荐方案)

场景 推荐方式
本地测试 静态文件 + Nginx
内网文档 Nginx 部署
生产环境 Docker
前后端分离 Nginx 反向代理

如果你愿意,可以告诉我:

  • ✅ 后端语言(Java / Python / Go / Node)
  • ✅ 是否使用 Docker
  • ✅ 是否已有 OpenAPI 文件

我可以帮你直接给出完整可用配置

0