CentOS 上搭建 Swagger 运行环境的实用方案
一 概念与组件选择
二 方案一 Node.js 快速搭建 Editor 与 UI(推荐上手)
sudo yum install -y gcc-c++ make && curl -sL https://rpm.nodesource.com/setup_12.x | bash -sudo yum install -y nodejsnode -v、npm -vmkdir -p /opt/swagger && cd /opt/swaggerwget https://github.com/swagger-api/swagger-editor/archive/v3.14.0.tar.gz && tar -xf v3.14.0.tar.gzcd swagger-editor-3.14.0 && npm install -g http-server && http-server -p 8081cd /opt/swagger && wget https://github.com/swagger-api/swagger-ui/archive/v3.34.0.tar.gz && tar -xf v3.34.0.tar.gzcd swagger-ui-3.34.0 && npm init -y && npm install express --savemkdir public && cp -r swagger-ui-3.34.0/dist/* public/index.js:const express = require('express');
const app = express();
app.use('/static', express.static('public'));
app.get('/', (req, res) => res.send('Swagger UI'));
app.listen(3000, () => console.log('UI listening on 3000'));
node index.jspublic/index.html 中的 url 为:/static/你的-swagger-file.json三 方案二 Java + Maven 构建并部署到 Tomcat
sudo yum install -y java-1.8.0-openjdk-devel mavenjava -version、mvn -versiongit clone https://github.com/swagger-api/swagger-ui.git && cd swagger-uimvn clean packagesudo yum install -y tomcat9-server tomcat9-admincp target/swagger-ui.war /var/lib/tomcat9/webapps/sudo systemctl start tomcat9四 防火墙与访问、常见问题与最佳实践
sudo firewall-cmd --zone=public --add-port=3000/tcp --permanentsudo firewall-cmd --zone=public --add-port=8080/tcp --permanentsudo firewall-cmd --zone=public --add-port=8081/tcp --permanentsudo firewall-cmd --reloadAccess-Control-Allow-Origin: *),或将 UI 与 API 同源部署。