温馨提示×

怎样在debian部署swagger

小樊
43
2026-10-01 18:24:26
栏目: 智能运维

下面以 Debian 系统为例,介绍几种常见的 Swagger(OpenAPI)部署方式,你可以根据使用场景选择。


一、常见 Swagger 使用方式说明

在 Debian 上“部署 Swagger”通常有三种目的:

  1. Swagger UI(查看/调试 API 文档)
  2. Swagger Editor(编写 OpenAPI 文件)
  3. 代码集成 Swagger(Spring / Node / Python 等)

下面重点讲 Swagger UI 的部署(最常用)。


二、方式一:使用 Docker 部署 Swagger UI(推荐)

1. 安装 Docker

sudo apt update
sudo apt install -y docker.io
sudo systemctl enable --now docker

2. 拉取并运行 Swagger UI

docker run -d -p 8080:8080 \
  -e SWAGGER_JSON=/foo/swagger.yaml \
  -v /path/to/swagger.yaml:/foo/swagger.yaml \
  --name swagger-ui \
  swaggerapi/swagger-ui

如果你只是想看官方示例:

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

访问:

http://<服务器IP>:8080

三、方式二:Nginx + 静态 Swagger UI(生产推荐)

1. 安装 Nginx

sudo apt install -y nginx

2. 下载 Swagger UI

cd /var/www
sudo git clone https://github.com/swagger-api/swagger-ui.git

3. 配置 Nginx

server {
    listen 80;
    server_name swagger.example.com;

    root /var/www/swagger-ui/dist;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }
}
sudo nginx -t
sudo systemctl reload nginx

4. 修改默认 API 文档

编辑:

/var/www/swagger-ui/dist/swagger-initializer.js

修改:

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

改成你自己的 OpenAPI 地址。


四、方式三:Swagger Editor(编写 API)

docker run -d -p 8081:8080 swaggerapi/swagger-editor

访问:

http://<IP>:8081

五、方式四:代码中集成 Swagger(示例)

Spring Boot(Java)

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

访问:

/swagger-ui.html

Node.js(Express)

npm install swagger-ui-express

六、安全建议(生产环境)

  • 使用 HTTPS(Let’s Encrypt)
  • 限制 IP 或加 Basic Auth
  • 不要暴露内部 API 到公网

七、总结

场景 推荐方式
快速测试 Docker
生产查看 Nginx + 静态
编写 API Swagger Editor
后端集成 框架插件

如果你能告诉我:

  • 后端语言(Java / Node / Python)
  • 是否公网访问
  • Debian 版本

我可以给你更精确的部署方案。

0 踩