Linux-Tutorial 仓库实战:CentOS 7 下使用 Docker Compose 快速部署 YApi 接口管理平台
文档教程技术博客【免费下载链接】Linux-Tutorial《Java 程序员眼中的 Linux》项目地址https://gitcode.com/gh_mirrors/li/Linux-Tutorial点击查看免费下载导读本文基于《Java 程序员眼中的 Linux》教程仓库Linux-Tutorial中的 YApi 安装和配置 文档系统讲解如何在 CentOS 7 环境下一键部署 YApi 接口管理平台。你将掌握从环境检查、Docker/Docker Compose 安装到拉取社区维护的 yapi-docker 工程、初始化管理员账号、通过浏览器访问平台的完整流程同时了解建议 http 部署这一关键注意事项及其背后的 Chrome 浏览器安全限制原理。一、YApi 是什么为什么值得部署YApi 是由去哪儿网大前端团队YMFE开源的高效、易用、功能强大的接口管理平台主要面向前后端分离开发场景为团队提供接口文档管理、接口 Mock、接口测试等能力。本文部署的 yapi-docker 工程是社区维护者branchzero基于官方 YApi 封装的 Docker 镜像编排方案把 YApi 所需的 Node.js 服务、MongoDB 数据库整合成一组容器通过 docker-compose 一条命令即可拉起整个平台非常适合内网环境下的团队自建。在本仓库的定位中该文档属于Java 程序员眼中的 Linux系列里典型的中间件/平台安装运维篇章与仓库中其他 Docker-Install-And-Usage.md、MongoDB-Install-And-Settings.md 等文档互为补充共同构成一套面向开发者的 Linux 运维实战手册。二、部署环境要求务必提前核对原文档给出的参考部署环境如下部署前建议逐项核对项目要求操作系统CentOS 7.4硬件1 GB RAM minimum最低 1GB 内存服务器 IPhttp://192.168.1.121示例按实际环境替换Docker17.12.1-ce, build 7390fc6Docker Compose1.18.0, build 8dd22a9核心注意事项建议部署成 http 站点。由于 Chrome 浏览器的安全限制若将 YApi 部署为 https 站点在测试功能请求 http 站点时会出现文件上传功能异常。这条经验直接来自 YApi 官方运维文档yapi.ymfe.org 的 devops 章节是实际运维中最容易踩的坑。三、Docker 与 Docker Compose 的安装准备虽然原文档默认 Docker 环境已就绪但本仓库恰好提供了完整的 Docker 一键安装脚本 install_docker_centos7.sh可作为环境准备的标准参考# 安装 docker 所需环境 yum install -y yum-utils device-mapper-persistent-data lvm2 # 添加 docker 官方 yum 源网络慢时可能超时需多试几次 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum makecache fast # 安装并启动 docker yum install -y docker-ce systemctl start docker.service # 验证 docker run hello-world # 安装 docker-compose脚本默认安装的就是 1.18.0与本文部署环境完全一致 curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose chmod x /usr/local/bin/docker-compose # 输出版本号并设置开机自启 docker-compose --version systemctl restart docker.service systemctl enable docker.service从脚本可见仓库作者在撰写 YApi 部署文档时使用的正是 docker-compose1.18.0该脚本与文档环境完全吻合可直接复用到本文的部署流程中。四、Docker 快速部署 YApi完整步骤原文档推荐使用社区维护的 yapi-docker 工程branchzero/yapi-docker进行部署完整操作步骤如下1. 创建工作目录并克隆工程mkdir -p /opt/git-data cd /opt/git-data git clone https://github.com/branchzero/yapi-docker.git2. 授权目录docker-compose 挂载卷需要写权限chmod -R 777 /opt/git-data3. 启动全部容器cd /opt/git-data/yapi-docker docker-compose up -d-d参数让容器以后台守护模式运行首次启动会自动拉取 YApi 与 MongoDB 镜像耗时取决于网络情况。4. 浏览器访问验证启动完成后打开 Chrome 访问http://192.168.1.121:30005. 初始化管理员账号首次登录使用默认管理员账号项目值管理员账号adminadmin.com初始密码ymfe.org登录后应立即进入后台修改默认密码防止默认凭证泄露导致平台被未授权接管。五、docker-compose 编排文件结构解读为了让读者理解docker-compose up -d背后发生了什么这里结合仓库中的真实 docker-compose 编排示例进行说明。仓库 gravitee-docker-compose/platform/docker-compose.yml 展示了标准的version: 3语法结构包含networks、services两大核心段落每个 service 通过image、container_name、ports、volumes、environment、depends_on声明容器属性version: 3 services: nginx: image: nginx:1.15-alpine container_name: gio_platform_nginx ports: - 80:80 - 443:443 depends_on: - apim_gateway mongodb: image: mongo:3.4 container_name: gio_platform_mongo ports: - 27017:27017 volumes: - ./data/mongo:/data/dbyapi-docker 工程的 compose 文件结构与此同源通常包含一个yapi服务YApi 主程序内部承载 Web 服务并监听 3000 端口和一个mongo服务数据存储两者通过depends_on建立启动顺序ports把容器内 3000 端口映射到宿主机。这正是打开浏览器访问 3000 端口这一结论的底层原因。若要持久化接口数据务必为 mongo 服务配置数据卷挂载否则容器重建会导致数据丢失。六、部署后的访问方式与反向代理进阶YApi 默认以http://IP:3000方式访问。如果希望对外提供更规范的域名访问例如 80 端口可以在宿主机部署 Nginx 做反向代理。仓库中 nginx-front.conf 给出了完整可参考的反向代理配置模板核心要点如下server { listen 8001; server_name localhost 127.0.0.1 platform.example.com; location ^~ /platform/ { proxy_pass http://127.0.0.1:28081; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }将proxy_pass目标改为 YApi 容器映射端口如http://127.0.0.1:3000即可把 80/443 流量转发给 YApi关键的一行是proxy_set_header Host $host——YApi 的 WebSocket 与文件上传功能依赖正确的 Host 头需要注意按原文档的经验若整个站点走 https则测试功能请求 http 目标时文件上传会异常因此反代层是否需要开启 SSL 需结合具体内网安全策略权衡。仓库中的 Nginx-Install-And-Settings.md、Nginx-SSL 等文档可进一步参考 Nginx 的安装与 SSL 配置方法。七、常见问题与运维建议结合原文档的部署环境和 Docker 通用运维经验归纳以下注意点内存下限YApi 容器Node.js与 MongoDB 容器同时运行文档明确要求至少1 GB RAM内存不足时容器易被 OOM Kill可通过docker stats观察资源占用。端口冲突3000 端口可能与其他应用冲突可通过修改 compose 文件中的ports映射如3001:3000规避。数据持久化为 mongo 服务挂载宿主机数据卷防止docker-compose down或容器重建后接口数据丢失。默认凭证安全adminadmin.com / ymfe.org是公开的初始账号密码上线后必须第一时间修改。https 与文件上传Chrome 安全限制导致 https 站点访问 http 目标时上传异常如确需 https需在 YApi 官方运维文档中查阅对应解决方案。服务管理常用命令包括docker-compose ps查看状态、docker-compose logs -f跟踪日志、docker-compose restart重启服务。八、总结YApi 的 Docker 部署本质上是镜像编排 端口映射 数据卷的组合拳mkdir准备目录、git clone获取编排工程、chmod 777解决挂载权限、docker-compose up -d一键拉起。本文以原文档为主线结合仓库中的 Docker 安装脚本与 docker-compose/nginx 配置范例从环境准备、部署操作、编排原理到反代进阶与运维排错给出了完整链路。按照以上步骤你可以在 CentOS 7 环境内最快 10 分钟内获得一个可用的 YApi 接口管理平台。赞分享文档教程技术博客【免费下载链接】Linux-Tutorial《Java 程序员眼中的 Linux》项目地址https://gitcode.com/gh_mirrors/li/Linux-Tutorial点击查看免费下载相关推荐深度解析Floki三大核心能力如何高效处理复杂HTML文档深度解析Floki三大核心能力如何高效处理复杂HTML文档 在Web数据抓取、HTML内容分析和Elixir项目开发中开发者经常面临HTML解析复杂、CSS后端YApi接口管理平台10分钟快速部署与入门终极指南YApi接口管理平台10分钟快速部署与入门终极指南 YApi是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台帮助团队高效协作规范接口文档管理流后端前端接口测试API设计YApi完整安装指南5步快速部署可视化接口管理平台YApi完整安装指南5步快速部署可视化接口管理平台 YApi是一个可本地部署的可视化接口管理平台能够打通前后端及QA团队协作。作为开源项目YApi提供了完后端前端接口测试API设计上一篇从零开始如何为Mixtral-8x7B-Instruct-v0.1创建自己的量化配置下一篇嵌入式系统工程师路线图指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考