在Linux服务器上部署Swagger主要有两种方式:使用Docker容器部署和使用传统的安装步骤。以下是详细的步骤:
使用Docker容器部署
-
安装Docker: 如果你还没有安装Docker,首先需要在你的Linux服务器上安装它。可以使用以下命令来安装Docker:
sudo apt-get update sudo apt-get install -y docker.io sudo systemctl start docker sudo systemctl enable docker
-
部署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
现在,你可以在浏览器中访问
http://
来使用Swagger Editor。:8080 -
部署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
在浏览器中访问
http://
来使用Swagger UI。:8081
使用传统的安装步骤
-
安装Node.js和npm:
sudo apt-get update sudo apt-get install -y nodejs npm
-
下载并解压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
-
安装Express:
cd /opt/swagger npm install express --save
-
配置并启动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
在浏览器中访问
http://
来使用Swagger Editor。:3000 -
部署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/
-
配置并启动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.bak sudo nano /etc/nginx/sites-available/default
修改server
块中的root
和index
指令: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
- Apache:
现在,你应该能够通过浏览器访问http://
来使用Swagger UI。