溫馨提示×

如何在Linux上部署Swagger在線文檔

小樊
48
2025-04-23 06:16:28
欄目: 智能運維

在Linux上部署Swagger在線文檔,通常需要以下幾個步驟:

  1. 安裝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
    
  2. 安裝Swagger UI Express: Swagger UI Express是一個可以讓你的Express應用程序托管Swagger文檔的中間件。通過npm安裝它:

    npm install swagger-ui-express
    
  3. 設置Swagger文檔: 你需要一個Swagger文檔,通常是一個YAML或JSON格式的文件,描述了你的API。這個文件可以手動編寫,也可以通過Swagger工具從代碼中生成。

  4. 創建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}`);
    });
    
  5. 運行應用程序: 在終端中運行你的Node.js應用程序:

    node your-app.js
    

    然后,你可以在瀏覽器中訪問http://localhost:3000/api-docs來查看Swagger在線文檔。

  6. (可選)使用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工具從你的代碼中自動生成。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女