温馨提示×

Swagger在Linux如何配置

小樊
42
2026-07-10 13:18:08
栏目: 智能运维

在 Linux 上配置 Swagger,通常取决于你使用的后端语言/框架。下面我按最常见场景给你一个清晰、可操作的说明,并附上通用思路。


一、先明确:你说的“Swagger”是哪一种?

Swagger 现在通常指:

名称 说明
Swagger UI 用于可视化查看和调试 API
Swagger Editor 编写 OpenAPI 文档
Swagger Codegen 生成客户端/服务端代码
Springfox / springdoc-openapi Java Spring 的 Swagger 集成

90% 的 Linux 使用场景是:在项目中集成 Swagger UI


二、通用思路(所有语言都适用)

  1. 安装依赖
  2. 启用 Swagger
  3. 生成或编写 API 文档
  4. 在浏览器访问 Swagger UI

三、最常见:Java + Spring Boot(Linux 服务器)

✅ 推荐方案:springdoc-openapi(替代老 Springfox)

1️⃣ 添加依赖(Maven)

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

2️⃣ 启动项目

mvn spring-boot:run

3️⃣ 访问 Swagger UI

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

无需额外配置 Linux 环境


四、Node.js(Express / NestJS)

Express + swagger-jsdoc + swagger-ui-express

1️⃣ 安装

npm install swagger-jsdoc swagger-ui-express

2️⃣ 示例代码

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

const options = {
  definition: {
    openapi: '3.0.0',
    info: { title: 'API', version: '1.0.0' }
  },
  apis: ['./index.js']
};

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

3️⃣ 访问

http://IP:3000/api-docs

五、Python(FastAPI / Flask)

✅ FastAPI(自带 Swagger)

pip install fastapi uvicorn

启动后直接访问:

http://IP:8000/docs

六、单独部署 Swagger UI(不依赖语言)

1️⃣ 下载 Swagger UI

wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v5.0.0.zip
unzip v5.0.0.zip

2️⃣ 放到 Nginx 静态目录

cp -r swagger-ui-5.0.0/dist /usr/share/nginx/html/swagger

3️⃣ 访问

http://服务器IP/swagger

七、Linux 常见问题排查

❌ 访问不了 Swagger UI

✅ 检查:

netstat -tunlp | grep 8080
curl http://localhost:8080/swagger-ui.html

❌ 端口被防火墙拦截

# 开放端口
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload

八、我可以更精确帮你

你可以直接告诉我:

1️⃣ 使用什么语言 / 框架?
2️⃣ Linux 发行版(CentOS / Ubuntu / 麒麟)?
3️⃣ 是 本地部署 还是 生产服务器

我可以给你一步一步的命令级配置方案

0