在 Linux 上部署 Swagger(通常指 Swagger UI) 常见有几种方式,下面按从简单到完整给你说明,适用于 API 文档展示 / 接口调试 场景。
适合:
✅ 只需要查看和调试接口
✅ 已有 swagger.json 或 swagger.yaml
# CentOS / Rocky / Alma
sudo yum install -y nginx
# Ubuntu / Debian
sudo apt update
sudo apt install -y nginx
启动 Nginx:
sudo systemctl start nginx
sudo systemctl enable nginx
cd /usr/share/nginx/html
sudo git clone https://github.com/swagger-api/swagger-ui.git
或下载指定版本:
wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v5.17.14.zip
unzip v5.17.14.zip
进入 dist 目录:
cd swagger-ui/dist
编辑 swagger-initializer.js:
window.onload = function () {
SwaggerUIBundle({
url: "http://你的IP或域名/swagger.json",
dom_id: '#swagger-ui',
presets: [
SwaggerUIBundle.presets.apis
]
})
}
将 swagger.json 放到 Nginx 目录:
cp swagger.json /usr/share/nginx/html/
访问:
http://服务器IP/swagger-ui/dist/
✅ 完成
适合:
✅ 快速、干净、不污染系统
✅ 服务器环境
# CentOS
sudo yum install -y docker
sudo systemctl start docker
# Ubuntu
sudo apt install -y docker.io
docker run -d \
-p 8080:8080 \
-e SWAGGER_JSON=/tmp/swagger.json \
-v /path/to/swagger.json:/tmp/swagger.json \
swaggerapi/swagger-ui
访问:
http://服务器IP:8080
适合:
✅ Java 项目
✅ 自动生成接口文档
✅ 推荐 springdoc(Spring Boot 2.6+)
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.3.0</version>
</dependency>
http://服务器IP:8080/swagger-ui.html
或:
http://服务器IP:8080/swagger-ui/index.html
适合:
✅ 编写 OpenAPI 文档
docker run -d -p 8081:8080 swaggerapi/swagger-editor
访问:
http://服务器IP:8081
如果 swagger.json 来自其他服务,需要后端允许 CORS:
@CrossOrigin("*")
或 Nginx:
add_header Access-Control-Allow-Origin *;
确保 Nginx 有权限读取文件:
chmod -R 755 /usr/share/nginx/html
| 场景 | 推荐方式 |
|---|---|
| 只看接口文档 | Nginx + Swagger UI |
| 快速部署 | Docker |
| Java 项目 | Spring Boot + springdoc |
| 编写 API | Swagger Editor |
如果你愿意,可以告诉我:
swagger.json我可以给你 精确到命令级别 的方案。