温馨提示×

centos如何集成swagger到项目

小樊
40
2026-10-03 06:53:32
栏目: 智能运维

在 CentOS 上把 Swagger 集成到项目,本质上和你用什么操作系统关系不大,关键看你用的是哪种后端语言/框架。下面我按常见场景给你分别说明,并附带在 CentOS 上的部署注意事项。


一、Java(Spring Boot)集成 Swagger(最常见)

1. 引入依赖(Maven)

<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-openapi

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-ui</artifactId>
    <version>1.7.0</version>
</dependency>

2. 启用 Swagger

@Configuration
@EnableSwagger2
public class SwaggerConfig {
}

或使用 springdoc:

@OpenAPIDefinition
public class OpenApiConfig {}

3. 访问地址

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

4. CentOS 部署注意

  • 防火墙开放端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
  • 若使用 Nginx 反向代理,需支持 WebSocket 和长连接

二、Node.js(Express)集成 Swagger

1. 安装

npm install swagger-ui-express yamljs

2. 示例代码

const swaggerUi = require('swagger-ui-express');
const YAML = require('yamljs');
const swaggerDocument = YAML.load('./swagger.yaml');

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

3. 访问

http://IP:3000/api-docs

4. CentOS 注意

  • 确保 Node 服务常驻(pm2)
npm install -g pm2
pm2 start app.js

三、Python(Flask / FastAPI)

Flask

pip install flask-restx
from flask_restx import Api

api = Api(app)

访问:

/swagger-ui

FastAPI(推荐)

pip install fastapi uvicorn

自动集成:

http://IP:8000/docs

四、CentOS 通用部署建议

  1. 关闭或配置防火墙
  2. 使用 Nginx 反向代理
location /swagger-ui.html {
    proxy_pass http://127.0.0.1:8080;
}
  1. 生产环境建议
    • 限制 IP 访问
    • 或关闭 Swagger(spring.profiles.active=prod)

五、你可以告诉我

  • 用的是 哪种语言/框架
  • 是 Spring Boot / Node / Python / Go
  • 是否需要 Nginx + HTTPS

我可以直接给你一套 可复制的 CentOS 部署方案。

0 踩