CentOS系統部署Swagger指南
Swagger是一套用于設計、構建、記錄和使用RESTful API的工具集,其中Swagger UI是常用的交互式文檔展示工具。以下是在CentOS系統上部署Swagger UI的具體步驟:
sudo yum update -y
sudo yum install -y wget curl gcc-c++ make
Swagger UI依賴Node.js環境,需先安裝對應版本(推薦Node.js 12.x及以上):
# 添加NodeSource源(以12.x為例)
curl -sL https://rpm.nodesource.com/setup_12.x | sudo bash -
# 安裝Node.js及npm
sudo yum install -y nodejs
# 驗證安裝
node -v # 應輸出v12.x.x及以上版本
npm -v # 應輸出6.x.x及以上版本
mkdir -p /opt/swagger && cd /opt/swagger
wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v3.34.0.tar.gz
tar -xzf v3.34.0.tar.gz --strip-components=1
http-server
快速啟動Swagger UInpm install -g http-server
http-server -p 8080 ./dist
http://<服務器IP>:8080
,即可看到Swagger UI界面。若需自定義接口文檔路徑或添加認證等功能,可通過Express框架部署:
mkdir -p /opt/swagger/{public,server}
cd /opt/swagger/server
npm init -y
npm install express --save
index.js
文件,內容如下:const express = require('express');
const app = express();
const path = require('path');
// 指向Swagger UI的靜態文件目錄
app.use('/static', express.static(path.join(__dirname, '../public')));
// 可選:自定義API文檔路徑(需將接口文檔放入public目錄)
// app.get('/api-docs', (req, res) => {
// res.sendFile(path.join(__dirname, '../public/your-api-docs.json'));
// });
// 啟動服務
app.listen(3000, () => {
console.log('Swagger UI運行于 http://localhost:3000/static/index.html');
});
node index.js
http://<服務器IP>:3000/static/index.html
。api-docs.json
(或api-docs.yaml
)。public
目錄(如/opt/swagger/public
)。/opt/swagger/public/index.html
,找到以下代碼:const ui = SwaggerUIBundle({
url: "https://petstore.swagger.io/v2/swagger.json", // 替換為你的文檔路徑
// ...
});
將url
值改為本地文檔路徑,例如:url: "/static/api-docs.json"
node index.js
使配置生效。sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload
swagger
)并賦予權限。通過以上步驟,即可在CentOS系統上完成Swagger UI的部署,并通過瀏覽器訪問交互式API文檔。如需進一步定制(如添加認證、修改主題),可參考Swagger UI官方文檔進行調整。