温馨提示×

centos怎样部署swagger服务

小樊
42
2026-10-03 06:51:32
栏目: 智能运维

在 CentOS 上部署 Swagger 服务,常见有三种方式,取决于你是:

  1. 只想看 API 文档(Swagger UI)
  2. 用 Swagger 生成文档并托管
  3. 部署一个带 Swagger 的后端服务(如 Spring Boot / Node / Go)

下面按最常用场景给你完整说明。


一、最常用:部署 Swagger UI(仅展示 API 文档)

1. 安装依赖

sudo yum install -y epel-release
sudo yum install -y nginx git

2. 下载 Swagger UI

cd /usr/share/nginx/html
sudo git clone https://github.com/swagger-api/swagger-ui.git

3. 配置 Nginx

编辑:

sudo vi /etc/nginx/conf.d/swagger.conf

内容示例:

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

    location / {
        root /usr/share/nginx/html/swagger-ui/dist;
        index index.html;
    }
}

4. 启动 Nginx

sudo systemctl enable nginx
sudo systemctl start nginx

5. 访问

http://服务器IP

默认会加载 https://petstore.swagger.io/v2/swagger.json


二、使用自己的 Swagger JSON / YAML

方法 1:修改默认 JSON

vi /usr/share/nginx/html/swagger-ui/dist/swagger-initializer.js

修改:

url: "http://你的IP/api/swagger.json"

方法 2:放在 Nginx 目录

cp swagger.yaml /usr/share/nginx/html/

访问:

http://IP/swagger.yaml

三、Docker 方式(推荐)

1. 安装 Docker

sudo yum install -y docker
sudo systemctl enable docker
sudo systemctl start docker

2. 启动 Swagger UI

docker run -d -p 8080:8080 \
  -e SWAGGER_JSON=/foo/swagger.json \
  -v /data/swagger.json:/foo/swagger.json \
  swaggerapi/swagger-ui

访问:

http://IP:8080

四、后端服务自带 Swagger(常见)

Spring Boot(最常见)

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

访问:

http://IP:端口/swagger-ui.html

五、常见问题

防火墙

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload

跨域问题

  • Swagger JSON 必须可被浏览器访问
  • 后端需开启 CORS

六、推荐方案总结

场景 推荐方式
只看文档 Nginx + Swagger UI
快速部署 Docker
后端项目 Spring Boot / Node 集成

如果你能告诉我:

  • ✅ CentOS 版本
  • ✅ 后端语言(Java / Node / Go / Python)
  • ✅ 是否已有 swagger.json

我可以给你更精准的一步到位方案。

0 踩