温馨提示×

Swagger在Linux环境中如何部署

小樊
42
2025-07-31 22:48:05
栏目: 智能运维

在Linux环境中部署Swagger主要有两种方式:使用Docker容器部署和使用传统的安装步骤。以下是详细的步骤:

使用Docker容器部署

  1. 安装Docker
  • 如果你还没有安装Docker,首先需要在你的Linux服务器上安装它。可以使用以下命令来安装Docker:
sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker
  1. 部署Swagger Editor
  • 拉取Swagger Editor的Docker镜像:
docker pull swaggerapi/swagger-editor:v4.6.0
  • 运行Swagger Editor容器,并将容器的8080端口映射到宿主机的8080端口:
docker run -d -p 8080:8080 swaggerapi/swagger-editor:v4.6.0
  1. 部署Swagger UI
  • 拉取Swagger UI的Docker镜像:
docker pull swaggerapi/swagger-ui:v4.15.5
  • 运行Swagger UI容器,并将容器的8080端口映射到宿主机的8081端口:
docker run -d -p 8081:8080 swaggerapi/swagger-ui:v4.15.5
  1. 访问Swagger Editor和Swagger UI

使用传统的安装步骤

  1. 安装Node.js和npm
sudo apt-get update
sudo apt-get install -y nodejs npm
  1. 下载并解压Swagger Editor
mkdir -p /opt/swagger
cd /opt/swagger
wget https://github.com/swagger-api/swagger-editor/archive/refs/tags/v3.16.1.tar.gz
tar -xvf v3.16.1.tar.gz
rm v3.16.1.tar.gz
  1. 安装Express
cd /opt/swagger
npm install express --save
  1. 配置并启动Swagger Editor
  • 创建一个 index.js 文件:
vi index.js
  • 添加以下内容:
var express = require('express');
var app = express();
app.use('/swagger', express.static('public'));
app.get('/', function (req, res) { res.send('Hello World'); });
var server = app.listen(3000, function () {
    var host = server.address().address;
    var port = server.address().port;
    console.log("应用实例,访问地址为 http://%s:%s", host, port);
});
  • 启动服务器:
node index.js
  1. 部署Swagger UI
  • 下载Swagger UI:
wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v3.48.0.tar.gz
  • 解压Swagger UI:
tar -xvf v3.48.0.tar.gz
rm v3.48.0.tar.gz
  • 将解压后的文件复制到Web服务目录(例如 /var/www/html):
sudo cp -r swagger-ui-3.48.0/* /var/www/html/
  1. 配置并启动Web服务器(例如Apache或Nginx)
  • Apache
sudo a2ensite default.conf
sudo systemctl restart apache2
  • Nginx
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.baksudo nano /etc/nginx/sites-available/default
  • 修改 server 块中的 rootindex 指令:
server {
    listen 80;
    server_name localhost;
    root /var/www/html;
    index index.html index.htm;
    location / {
        try_files uri uri / /index.html;
    }
}
  • 保存并退出编辑器,然后重启Nginx:
sudo systemctl restart nginx
  1. 访问Swagger UI

现在,你应该能够通过浏览器访问 http://your-server-ip/swagger-ui 来使用Swagger UI。

以上就是在Linux环境中部署Swagger的详细步骤,你可以根据自己的需求选择使用Docker容器部署或传统的安装步骤。

0