温馨提示×

怎么在Debian配置Swagger

小樊
39
2026-07-29 18:52:11
栏目: 智能运维

Debian 上“配置 Swagger”通常指 在 Debian 服务器上部署或集成 Swagger(OpenAPI),常见场景有三类。下面我按最常见 → 进阶给你一个清晰、可操作的说明。


一、最常见:在 Debian 上部署 Swagger UI(查看 API 文档)

适合:

  • 已有后端 API
  • 想用浏览器查看 /swagger 页面

1️⃣ 安装依赖

sudo apt update
sudo apt install -y nginx wget unzip

2️⃣ 下载 Swagger UI

cd /var/www
sudo wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v5.17.14.zip
sudo unzip v5.17.14.zip
sudo mv swagger-ui-5.17.14 swagger-ui

3️⃣ 配置 Nginx

编辑配置:

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

内容示例:

server {
    listen 80;
    server_name your-domain-or-ip;

    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 reload nginx

4️⃣ 修改默认 API 地址

编辑:

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

修改:

url: "https://your-api-domain.com/v3/api-docs",

浏览器访问:

http://服务器IP

✅ Swagger UI 已运行在 Debian 上


二、在 Debian 后端项目中 集成 Swagger(Spring Boot / Node / Python)

✅ Spring Boot(最常见)

1️⃣ 添加依赖

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

2️⃣ 访问

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

✅ Debian 上无需额外配置


✅ Node.js(Express)

npm install swagger-ui-express swagger-jsdoc
const swaggerJsdoc = require('swagger-jsdoc');
const swaggerUi = require('swagger-ui-express');

const spec = swaggerJsdoc({
  definition: {
    openapi: '3.0.0',
    info: { title: 'API', version: '1.0.0' }
  },
  apis: ['./routes/*.js']
});

app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(spec));

访问:

http://localhost:3000/api-docs

✅ Python(FastAPI)

FastAPI 自带 Swagger

pip install fastapi uvicorn
from fastapi import FastAPI
app = FastAPI()

访问:

http://localhost:8000/docs

三、如果你指的是 Swagger Editor(写 API)

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

访问:

http://服务器IP:8080

四、常见问题

❓ Debian 需要额外配置吗?

不需要
Swagger 是前端/库,Debian 只是运行环境

❓ 端口访问不了?

sudo ufw allow 80
sudo ufw allow 8080

五、我可以继续帮你

你可以直接告诉我:

  1. 用的是 什么语言 / 框架
  2. 查看 API 还是 生成 API
  3. 本地 Debian 还是 云服务器

我可以给你 精确到命令级别 的部署方案 ✅

0