在 Debian 上“部署 Swagger”通常有两种常见场景,下面分别说明,你可以按需要选择。
适用场景:你已经有 OpenAPI / Swagger JSON/YAML 文件,想在浏览器中查看和调试接口。
sudo apt update
sudo apt install nginx -y
cd /var/www
sudo git clone https://github.com/swagger-api/swagger-ui.git
或只下载静态文件:
sudo mkdir -p /var/www/swagger-ui
cd /var/www/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
编辑 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 restart nginx
编辑:
/var/www/swagger-ui/dist/swagger-initializer.js
修改:
url: "https://your-api.com/swagger.json"
适用场景:后端是 Spring Boot。
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.3.0</version>
</dependency>
http://服务器IP:8080/swagger-ui.html
最简单、最干净的方式。
sudo apt install docker.io -y
sudo systemctl enable --now docker
docker run -d -p 8080:8080 \
-e SWAGGER_JSON=/foo/swagger.json \
-v /path/to/swagger.json:/foo/swagger.json \
swaggerapi/swagger-ui
访问:
http://服务器IP:8080
如果你能告诉我:
我可以给你更精确的部署方案。