Centos Swagger如何部署
导读:CentOS系统部署Swagger指南 Swagger是一套用于设计、构建、记录和使用RESTful API的工具集,其中Swagger UI是常用的交互式文档展示工具。以下是在CentOS系统上部署Swagger UI的具体步骤: 一、准...
CentOS系统部署Swagger指南
Swagger是一套用于设计、构建、记录和使用RESTful API的工具集,其中Swagger UI是常用的交互式文档展示工具。以下是在CentOS系统上部署Swagger UI的具体步骤:
一、准备工作
- 更新系统:确保系统为最新版本,避免依赖冲突
sudo yum update -y
- 安装必要工具:安装编译工具及网络工具
sudo yum install -y wget curl gcc-c++ make
二、安装Node.js与npm
Swagger UI依赖Node.js环境,需先安装对应版本(推荐Node.js 12.x及以上):
# 添加NodeSource源(以12.x为例)
curl -sL https://rpm.nodesource.com/setup_12.x | sudo bash -
# 安装Node.js及npm
sudo yum install -y nodejs
# 验证安装
node -v # 应输出v12.x.x及以上版本
npm -v # 应输出6.x.x及以上版本
三、部署Swagger UI
方式1:快速启动Swagger UI(单节点模式)
- 下载Swagger UI:从GitHub获取最新稳定版
mkdir -p /opt/swagger & & cd /opt/swagger wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v3.34.0.tar.gz tar -xzf v3.34.0.tar.gz --strip-components=1
- 启动静态服务:使用
http-server
快速启动Swagger UInpm install -g http-server http-server -p 8080 ./dist
- 访问Swagger UI:在浏览器中输入
http://< 服务器IP> :8080
,即可看到Swagger UI界面。
方式2:集成Express的长期运行方案
若需自定义接口文档路径或添加认证等功能,可通过Express框架部署:
- 创建项目目录:
mkdir -p /opt/swagger/{ public,server} cd /opt/swagger/server
- 初始化项目并安装依赖:
npm init -y npm install express --save
- 配置静态资源与接口:创建
index.js
文件,内容如下:const express = require('express'); const app = express(); const path = require('path'); // 指向Swagger UI的静态文件目录 app.use('/static', express.static(path.join(__dirname, '../public'))); // 可选:自定义API文档路径(需将接口文档放入public目录) // app.get('/api-docs', (req, res) => { // res.sendFile(path.join(__dirname, '../public/your-api-docs.json')); // } ); // 启动服务 app.listen(3000, () => { console.log('Swagger UI运行于 http://localhost:3000/static/index.html'); } );
- 启动服务:
node index.js
- 访问Swagger UI:在浏览器中输入
http://< 服务器IP> :3000/static/index.html
。
四、配置自定义API文档
- 编写接口文档:使用Swagger Editor(可选)编写API描述文件(支持JSON/YAML格式),保存为
api-docs.json
(或api-docs.yaml
)。 - 上传文档:将文档复制到Swagger UI的
public
目录(如/opt/swagger/public
)。 - 修改索引文件:编辑
/opt/swagger/public/index.html
,找到以下代码:
将const ui = SwaggerUIBundle({ url: "https://petstore.swagger.io/v2/swagger.json", // 替换为你的文档路径 // ... } );
url
值改为本地文档路径,例如:url: "/static/api-docs.json"
- 重启服务:若使用Express方案,需重启
node index.js
使配置生效。
五、生产环境优化建议
- 启用HTTPS:使用Let’s Encrypt免费证书,通过Nginx或Apache反向隧道配置HTTPS,避免数据传输泄露。
- 配置防火墙:开放必要端口(如80/443或自定义端口),关闭无关端口:
sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --permanent --add-port=443/tcp sudo firewall-cmd --reload
- 权限管理:避免使用root用户运行服务,建议创建专用用户(如
swagger
)并赋予权限。 - 持久化存储:将Swagger UI目录挂载至云存储(如OSS),防止数据丢失。
通过以上步骤,即可在CentOS系统上完成Swagger UI的部署,并通过浏览器访问交互式API文档。如需进一步定制(如添加认证、修改主题),可参考Swagger UI官方文档进行调整。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Centos Swagger如何部署
本文地址: https://pptw.com/jishu/725002.html