温馨提示×

debian上swagger怎么配置

小樊
41
2026-09-01 18:35:08
栏目: 智能运维

在 Debian 上“配置 Swagger”通常分几种场景,我按最常见的几种情况给你说明,你可以对号入座。


一、如果你是用 Spring Boot(Java)项目

这是 最典型 的 Swagger 使用方式。

1. 安装 Java(如未安装)

sudo apt update
sudo apt install openjdk-17-jdk -y

2. 引入 Swagger 依赖

Swagger 2(旧,但常见)

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

SpringDoc(推荐,Swagger 3 / OpenAPI)

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

3. 配置 Swagger

@Configuration
public class SwaggerConfig {
    @Bean
    public OpenAPI customOpenAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title("API 文档")
                        .version("1.0")
                        .description("Debian 上的 Swagger 示例"));
    }
}

4. 访问地址

http://服务器IP:8080/swagger-ui.html
# 或(SpringDoc)
http://服务器IP:8080/swagger-ui/index.html

二、如果你是用 Node.js(Express)

1. 安装

sudo apt install nodejs npm -y
npm init -y
npm install swagger-ui-express yamljs

2. 示例代码

const express = require("express");
const swaggerUi = require("swagger-ui-express");
const YAML = require("yamljs");

const swaggerDocument = YAML.load("./swagger.yaml");
const app = express();

app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(swaggerDocument));

app.listen(3000, () => {
  console.log("Swagger: http://localhost:3000/api-docs");
});

三、如果你只是想“部署一个 Swagger UI 页面”

1. 安装 Nginx

sudo apt install nginx -y

2. 下载 Swagger UI

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

3. 配置 Nginx

server {
    listen 80;
    server_name your_domain;

    location / {
        root /var/www/swagger-ui/dist;
        index index.html;
    }
}
sudo nginx -t
sudo systemctl restart nginx

访问:

http://服务器IP

四、常见问题

✅ 防火墙

sudo ufw allow 80
sudo ufw allow 8080

✅ 云服务器

  • 安全组放行端口
  • 0.0.0.0 监听

你可以告诉我:

1️⃣ 你用的是 Java / Node / Python / Go
2️⃣ 是 开发环境 还是 服务器部署
3️⃣ 用的是 Swagger 2 还是 OpenAPI 3

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

0