温馨提示×

debian怎样配置swagger

小樊
38
2026-09-13 20:33:49
栏目: 智能运维

在 Debian 上“配置 Swagger”通常有两种常见场景,下面分别说明,你可以按需选择。


一、Swagger 是什么(先明确一下)

Swagger 一般用于:

  • Swagger UI:可视化 API 文档界面
  • Swagger Editor:编写 OpenAPI 文档
  • Springfox / springdoc(Java 项目)
  • 基于 Node / Python / Go 等后端的 Swagger 集成

二、Debian 上常见配置方式

方式 1:直接部署 Swagger UI(最通用)

适合:你已经有一份 swagger.jsonopenapi.yaml

1. 安装依赖

sudo apt update
sudo apt install -y nginx curl unzip

2. 下载 Swagger UI

cd /var/www
sudo curl -L https://github.com/swagger-api/swagger-ui/archive/refs/heads/master.zip -o swagger-ui.zip
sudo unzip swagger-ui.zip
sudo mv swagger-ui-master swagger-ui

3. 配置 Nginx

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

内容示例:

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

    root /var/www/swagger-ui/dist;
    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 restart nginx

4. 修改默认 API 地址

编辑:

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

修改:

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

改为你的 API 文档地址。


方式 2:Java(Spring Boot)+ Swagger

1. 使用 springdoc(推荐)

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

访问:

http://服务器IP:8080/swagger-ui.html

2. Debian 运行 Spring Boot

java -jar yourapp.jar

(可用 systemd 守护)


方式 3:Python(FastAPI / Flask)

FastAPI(自带 Swagger)

pip install fastapi uvicorn

访问:

http://IP:8000/docs

Flask + Flasgger

pip install flasgger

三、常见问题

1. 无法访问 Swagger UI

  • 防火墙:sudo ufw allow 80
  • Nginx 未启动:systemctl status nginx
  • 跨域问题(API 和 UI 不同源)

2. 生产环境建议

  • 加 HTTPS(Let’s Encrypt)
  • 加 Basic Auth
  • 不要暴露内网 API

四、如果你能补充这些信息,我可以给更精确的步骤

  1. 你用的是 什么语言/框架
  2. 本地开发 还是 服务器部署
  3. 是否有现成的 swagger.json

我可以按你的实际情况给你一份“可直接抄”的配置。

0