在 Debian 上“部署 Swagger”通常有几种常见场景,我先按最常见需求给你说明,然后再补充不同用法。
如果你已经有 Swagger/OpenAPI 的 JSON 或 YAML 文件,只是想在 Debian 上通过浏览器访问。
sudo apt update
sudo apt install -y nginx
cd /var/www
sudo git clone https://github.com/swagger-api/swagger-ui.git
编辑 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/ =404;
}
}
启用配置:
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://petstore.swagger.io/v2/swagger.json"
改成你自己的 API 文档地址。
访问:
http://<服务器IP>
如果你是说 Spring Boot 项目里集成 Swagger:
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.3.0</version>
</dependency>
http://<IP>:8080/swagger-ui.html
npm install swagger-ui-express yamljs
const swaggerUi = require('swagger-ui-express');
const fs = require('fs');
const YAML = require('yamljs');
const swaggerDocument = YAML.load('./swagger.yaml');
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
docker run -p 8080:8080 \
-e SWAGGER_JSON=/foo/swagger.json \
-v $PWD/swagger.json:/foo/swagger.json \
swaggerapi/swagger-ui
我可以直接给你一份可复制粘贴的完整部署方案。