温馨提示×

Linux系统中Swagger工具的安装步骤

小樊
34
2025-12-14 00:28:11
栏目: 智能运维

Linux系统中Swagger工具的安装步骤

一 准备环境

  • 更新系统并安装基础工具(以 Debian/Ubuntu 为例):
    • 安装 Docker:sudo apt-get update && sudo apt-get install -y docker.io && sudo systemctl start docker && sudo systemctl enable docker
    • 安装 Node.js 与 npm(用于本地源码运行):sudo apt-get update && sudo apt-get install -y nodejs npm
  • 如使用 CentOS/RHEL,可用 yum/dnf 安装相应软件包(如 yum install -y wget 等)。

二 方式一 Docker部署 Swagger Editor 与 Swagger UI

  • 拉取镜像(示例版本:v4.15.5v4.6.0,可按需调整):
    • docker pull swaggerapi/swagger-editor:v4.6.0
    • docker pull swaggerapi/swagger-ui:v4.15.5
  • 启动容器(将宿主机端口分别映射到 80818080):
    • Swagger Editor:docker run -d -p 8081:8080 swaggerapi/swagger-editor:v4.6.0
    • Swagger UI:docker run -d -p 8080:8080 swaggerapi/swagger-ui:v4.15.5
  • 访问地址:
    • Editor:http://<服务器IP>:8081
    • UI:http://<服务器IP>:8080
  • 提示:生产环境可加入 --restart=always 并配置反向代理或 TLS。

三 方式二 本地源码运行 Swagger Editor 与 Swagger UI

  • 安装 Node.js 与 http-server(若未安装):sudo apt-get install -y nodejs npm && sudo npm install -g http-server
  • 安装并启动 Swagger Editor:
    • wget https://github.com/swagger-api/swagger-editor/archive/refs/tags/v3.50.0.tar.gz
    • tar -xvf v3.50.0.tar.gz && cd swagger-editor-3.50.0
    • npm install && npm run start
    • 访问:http://localhost:9000
  • 安装并启动 Swagger UI:
    • wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v3.50.0.tar.gz
    • tar -xvf v3.50.0.tar.gz && cd swagger-ui-3.50.0
    • npm install && npm run start
    • 访问:http://localhost:3000
  • 说明:不同版本的 Node 启动端口可能不同,请以控制台输出为准。

四 在 Spring Boot 项目中集成 Swagger UI

  • 添加依赖(示例使用 springdoc-openapi,适配 Spring Boot 3 / OpenAPI 3):
    • org.springdoc springdoc-openapi-starter-webmvc-ui 2.1.0
  • 启动应用后访问:http://<服务器IP>:8080/swagger-ui/
  • 旧项目如使用 springfox(Spring Boot 2.x 常见):
    • 依赖:springfox-swagger2:2.9.2、springfox-swagger-ui:2.9.2
    • 访问:http://<服务器IP>:8080/swagger-ui.html。

五 常用管理与安全建议

  • 进程守护:使用 pm2 管理 Node 服务,示例:
    • 进入项目目录后:pm2 start “http-server -p 8081”(Editor)
    • 开机自启:pm2 startup && pm2 save
  • 反向代理与端口规划:建议用 Nginx/Apache 统一暴露 80/443,容器或 Node 服务使用高位端口,便于安全与维护
  • 访问控制:Swagger UI 默认不做鉴权,建议结合 反向代理认证、网络ACL、OAuth2 等手段限制访问范围。

0