一、准备工作
sudo yum update -y确保系统软件包为最新版本。gcc-c++、make等编译工具(用于后续Node.js或Swagger依赖编译),命令:sudo yum install -y gcc-c++ make。二、安装Node.js与npm Swagger UI依赖Node.js环境,需先安装:
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -。sudo yum install -y nodejs。node -v(查看Node.js版本)、npm -v(查看npm版本),确认输出版本号即为成功。三、安装Swagger UI 有两种常见方式,可根据需求选择:
/opt/swagger目录,下载指定版本(如v3.34.0)的源码包: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。cd swagger-ui-3.34.0。npm install。sudo yum install -y docker && sudo systemctl start docker && sudo systemctl enable docker。docker pull swaggerapi/swagger-ui。docker run -p 80:80 -d swaggerapi/swagger-ui。四、配置Swagger UI
api.yaml),内容示例:openapi: '3.0.0'
info:
title: Sample API
version: '1.0.0'
paths:
/hello:
get:
summary: Say hello
responses:
'200':
description: Success
将文件保存至/opt/swagger/swagger-ui-3.34.0/public目录。/opt/swagger/swagger-ui-3.34.0/public/index.html,找到url: "https://petstore.swagger.io/v2/swagger.json",替换为本地API文档路径:url: "/api-docs/api.yaml"(若文档放在子目录需调整路径)。node index.js(若未创建index.js,可参考以下基础配置):const express = require('express');
const app = express();
const path = require('path');
app.use(express.static(path.join(__dirname, 'public')));
app.listen(3000, () => console.log('Swagger UI running on port 3000'));
保存为index.js,再运行node index.js。-e SWAGGER_FILE=/api-docs/api.yaml参数,并挂载文档目录:docker run -p 80:80 -v /opt/swagger/api.yaml:/api-docs/api.yaml -e SWAGGER_FILE=/api-docs/api.yaml -d swaggerapi/swagger-ui
此时Swagger UI会自动加载/api-docs/api.yaml中的文档。五、访问Swagger UI
http://<服务器IP>:3000(若修改了端口,替换为对应值)。http://<服务器IP>即可访问。六、生产环境优化建议
sudo firewall-cmd --permanent --add-port=3000/tcp && sudo firewall-cmd --reload。chmod -R 755 /opt/swagger。