在Linux上部署Swagger在線文檔,通常需要以下幾個步驟:
安裝Node.js和npm: Swagger UI可以通過Node.js來運行。首先,確保你的Linux系統上已經安裝了Node.js和npm。如果沒有安裝,可以通過以下命令安裝:
sudo apt update
sudo apt install nodejs npm
或者使用NodeSource的二進制分發庫來安裝特定版本的Node.js:
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
安裝Swagger UI Express: Swagger UI Express是一個可以讓你的Express應用程序托管Swagger文檔的中間件。通過npm安裝它:
npm install swagger-ui-express
設置Swagger文檔: 你需要一個Swagger文檔,通常是一個YAML或JSON格式的文件,描述了你的API。這個文件可以手動編寫,也可以通過Swagger工具從代碼中生成。
創建Express應用程序: 創建一個新的Node.js應用程序,或者使用現有的Express應用程序,并添加Swagger UI Express中間件。以下是一個簡單的示例:
const express = require('express');
const swaggerUi = require('swagger-ui-express');
const YAML = require('yamljs');
const app = express();
const port = process.env.PORT || 3000;
// Load Swagger document
const swaggerDocument = YAML.load('./swagger.yaml');
// Serve Swagger docs
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
app.listen(port, () => {
console.log(`Server is running at http://localhost:${port}`);
});
運行應用程序: 在終端中運行你的Node.js應用程序:
node your-app.js
然后,你可以在瀏覽器中訪問http://localhost:3000/api-docs
來查看Swagger在線文檔。
(可選)使用Nginx反向代理: 如果你想通過HTTPS提供Swagger文檔,或者想要更好的性能和安全性,可以使用Nginx作為反向代理。以下是一個基本的Nginx配置示例:
server {
listen 80;
server_name your-domain.com;
location /api-docs {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
將上述配置保存到Nginx的配置目錄中(通常是/etc/nginx/sites-available/
),然后創建一個符號鏈接到sites-enabled
目錄,并重啟Nginx服務:
sudo ln -s /etc/nginx/sites-available/your-config /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
現在,你應該能夠通過https://your-domain.com/api-docs
訪問Swagger文檔。
請注意,這些步驟假設你已經有了一個Swagger文檔。如果你還沒有,你可以使用Swagger Editor來創建一個,或者使用Swagger工具從你的代碼中自動生成。