在 Debian 上部署 Swagger UI,常见有几种方式,下面按从简单到正式给你说明,推荐你根据用途选择。
sudo apt update
sudo apt install -y wget unzip nginx
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
sudo mkdir -p /var/www/swagger
sudo cp -r swagger-ui-5.17.14/dist/* /var/www/swagger/
编辑配置:
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
浏览器打开:
http://服务器IP
编辑:
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 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 → 后端服务(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 80systemctl status nginx后端需要允许 CORS,例如:
Access-Control-Allow-Origin: *
| 场景 | 推荐方式 |
|---|---|
| 本地测试 | 静态文件 + Nginx |
| 内网文档 | Nginx 部署 |
| 生产环境 | Docker |
| 前后端分离 | Nginx 反向代理 |
如果你愿意,可以告诉我:
我可以帮你直接给出完整可用配置。