在Ubuntu中部署Swagger生成的API,通常涉及以下幾個步驟:
安裝必要的軟件:
生成Swagger文檔:
設置項目結構:
安裝Swagger UI Express:
npm install swagger-ui-express
配置Swagger UI Express:
const express = require('express');
const swaggerUi = require('swagger-ui-express');
const YAML = require('yamljs');
const app = express();
// 讀取Swagger文檔
const swaggerDocument = YAML.load('./path/to/swagger.json');
// 使用Swagger UI Express中間件
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
// 啟動服務器
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
運行應用程序:
node app.js
http://localhost:3000/api-docs
,你應該能夠看到Swagger UI界面,其中包含你的API文檔。部署到生產環境:
npm install pm2 -g
pm2 start app.js --name my-api
配置Nginx反向代理(可選):
如果你希望通過Nginx來代理你的API請求,可以按照以下步驟進行配置:
sudo apt update
sudo apt install nginx
編輯Nginx配置文件(通常位于 /etc/nginx/sites-available/default
),添加以下內容:
server {
listen 80;
server_name yourdomain.com;
location /api-docs {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
重新加載Nginx配置:
sudo systemctl reload nginx
通過以上步驟,你可以在Ubuntu上成功部署Swagger生成的API,并使其可以通過瀏覽器訪問。