在 Ubuntu 上“部署 Swagger 服务”通常有三种常见场景,下面我按最常见、最实用的方式给你说明,你可以按需选择。
适合: 已有 OpenAPI/Swagger JSON/YAML 文件,想在网页上展示
sudo apt update
sudo apt install -y nginx nodejs npm
cd /var/www
sudo git clone https://github.com/swagger-api/swagger-ui.git
sudo vim /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/sh/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/swagger.json"
浏览器访问:
http://服务器IP
适合: Java 后端自动生成 Swagger
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0</version>
</dependency>
http://服务器IP:端口/swagger-ui/
docker run -d -p 8080:8080 swaggerapi/swagger-editor
访问:
http://服务器IP:8080
sudo ufw allow 80
sudo ufw allow 8080
用 Nginx + Let’s Encrypt:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx
| 场景 | 推荐方式 |
|---|---|
| 查看已有 API | Swagger UI |
| Java 项目 | Springfox |
| 编写 API | Swagger Editor |
如果你能告诉我:
我可以给你更精确的部署步骤。