在 Debian 上“部署 Swagger 服务”通常有两种理解:
下面我按最常见场景给你讲:在 Debian 上部署 Swagger UI 并接入你的 API 文档。
sudo apt update
sudo apt install nginx -y
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
编辑配置文件:
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
编辑:
/var/www/swagger-ui/dist/swagger-initializer.js
修改:
url: "https://your-api.com/v3/api-docs",
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
或直接使用远程文档:
docker run -d -p 8080:8080 \
-e URLS="[{url:'https://your-api.com/v3/api-docs'}]" \
swaggerapi/swagger-ui
访问:
http://服务器IP:8080
springdoc:
swagger-ui:
path: /swagger-ui.html
访问:
http://IP:8080/swagger-ui.html
npm install swagger-ui-express
后端需允许:
Access-Control-Allow-Origin: *
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx
如果你能告诉我:
我可以直接给你一份可复制的部署方案。