温馨提示×

debian swagger怎么部署服务

小樊
36
2026-10-04 17:06:51
栏目: 智能运维

在 Debian 上“部署 Swagger 服务”通常有两种理解:

  1. 部署 Swagger UI(接口文档网站)
  2. 部署一个使用 Swagger/OpenAPI 的后端服务(如 Spring Boot、Node.js、Python 等)

下面我按最常见场景给你讲:在 Debian 上部署 Swagger UI 并接入你的 API 文档。


一、方式一:用 Nginx + Swagger UI(最常用)

1. 安装 Nginx

sudo apt update
sudo apt install nginx -y

2. 下载 Swagger UI

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

或只下载静态文件(更轻量):

cd /var/www
sudo mkdir swagger-ui
cd swagger-ui
sudo wget https://github.com/swagger-api/swagger-ui/archive/refs/heads/master.zip
sudo apt install unzip -y
sudo unzip master.zip

3. 配置 Nginx

编辑配置文件:

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

示例配置:

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

    root /var/www/swagger-ui/dist;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }
}

启用站点:

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.com/v3/api-docs",

二、方式二:Docker 部署 Swagger UI(推荐)

1. 安装 Docker

sudo apt install docker.io -y
sudo systemctl enable --now docker

2. 运行 Swagger UI

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

或直接使用远程文档:

docker run -d -p 8080:8080 \
  -e URLS="[{url:'https://your-api.com/v3/api-docs'}]" \
  swaggerapi/swagger-ui

访问:

http://服务器IP:8080

三、方式三:后端服务自带 Swagger(示例)

Spring Boot

springdoc:
  swagger-ui:
    path: /swagger-ui.html

访问:

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

Node.js (Express)

npm install swagger-ui-express

四、常见问题

1. 跨域问题

后端需允许:

Access-Control-Allow-Origin: *

2. 用 HTTPS

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx

如果你能告诉我:

  • 是 Java / Node / Python?
  • 是只想 看文档 还是 部署真实服务?

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

0 踩