温馨提示×

debian swagger怎么集成

小樊
41
2026-09-16 21:12:17
栏目: 智能运维

在 Debian 上“集成 Swagger”通常分两种场景:后端代码里集成 Swagger(生成 API 文档),或 部署 Swagger UI 来查看已有 API。下面按常见情况给你一套清晰做法。


一、后端集成 Swagger(以常见语言为例)

1. Java(Spring Boot)

<dependency>
  <groupId>org.springdoc</groupId>
  <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
  <version>2.3.0</version>
</dependency>

访问:

http://localhost:8080/swagger-ui.html

2. Python(FastAPI)

FastAPI 自带 Swagger:

pip install fastapi uvicorn

访问:

http://localhost:8000/docs

3. Node.js(Express)

npm install swagger-ui-express swagger-jsdoc
const swaggerUi = require('swagger-ui-express');
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec));

二、在 Debian 上单独部署 Swagger UI

如果你已有 openapi.yaml / json,只是想看文档:

方法 1:用 Docker(推荐)

docker run -p 8080:8080 \
  -e SWAGGER_JSON=/foo/openapi.yaml \
  -v $(pwd):/foo \
  swaggerapi/swagger-ui

访问:

http://<debian-ip>:8080

方法 2:Nginx + 静态 Swagger UI

sudo apt update
sudo apt install nginx unzip curl

cd /tmp
curl -L https://github.com/swagger-api/swagger-ui/archive/refs/heads/master.zip -o sw.zip
unzip sw.zip
sudo cp -r swagger-ui-master/dist /var/www/swagger

配置 Nginx:

server {
    listen 80;
    root /var/www/swagger;
    index index.html;
}
sudo systemctl restart nginx

修改 swagger-initializer.js 指向你的 API 文件。


三、Debian 系统级注意点

  • 开放端口:ufw allow 8080
  • 如果用 systemd 跑后端,确保服务监听 0.0.0.0
  • 生产环境建议加 反向代理 + 鉴权

四、你可以告诉我

  • 用的是 哪种语言/框架
  • 是 代码集成 还是 部署 UI
  • Debian 版本(11 / 12)

我可以直接给你一份可复制的配置。

0 踩