前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Yapi私有化部署方案

Yapi私有化部署方案

作者头像
benym
发布2023-05-15 09:57:43
1.4K0
发布2023-05-15 09:57:43
举报
文章被收录于专栏:后端知识体系

# 背景

作为前文接口管理平台Yapi-最佳实践 (opens new window)的补充,本文将给出Yapi私有化部署方案的教程

开源代码地址https://github.com/benym/yapi-deploy (opens new window)

文件取自yapi-1.9.3开源版本

# 部署方式

# 可视化部署

使用官方提供的yapi-cli工具,部署 YApi平台是非常容易的。执行 yapi server启动可视化部署程序,输入相应的配置和点击开始部署,就能完成整个网站的部署。部署完成之后,可按照提示信息,执行 node/{网站路径/server/app.js}启动服务器。在浏览器打开指定url, 点击登录输入您刚才设置的管理员邮箱,默认密码为 ymfe.org登录系统(默认密码可在个人中心修改)。

代码语言:javascript
复制
npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server 

# 虚拟机部署

  1. 下载本文的yapi-deploy项目
  2. 拷贝yapi-virtual文件夹到宿主机/,如拷贝位置不同,需要同步替换entrypoint.sh中的vendorsinit.lock路径
  3. cd /yapi-virtual, 填写config.jsonservername, user, pass其中authSourcemongodb自带库,默认通过admin授权即可
  4. cd /yapi-virtual/vendors
  5. npm install --production --registry https://registry.npm.taobao.org
  6. cd /yapi-virtual
  7. nohup sh entrypoint.sh > out.txt 2&1 &

以上7步完成部署

其中entrypoint.sh脚本中内容如下

代码语言:javascript
复制
#!/bin/sh

# yapi初始化后会有一个init.lock文件
lockPath="/yapi-virtual/init.lock"

# 进入yapi项目,如部署机器不同,请修改该路径
cd /yapi-virtual/vendors

# 安装必要包
npm config set registry https://registry.npm.taobao.org/
npm install pm2 -g
npm install -g fs-extra --registry https://registry.npm.taobao.org/
npm install -g safeify

# 如果初始化文件文件存在,则直接运行,否则初始化
if [ ! -f "$lockPath" ]; then
  # 启动Yapi初始化
  pm2 start server/install.js
  pm2 start server/app.js
else
  # 运行yapi管理系统
  pm2 start server/app.js
fi

脚本将自动安装yapi所需要的依赖,并采用pm2进行yapi进程后台管理

提示

这里之所以需要pm2管理,是因为如果直接采用nohup等后台运行形式,yapi将在用户退出shell界面时同时停止运行

# Docker部署

  1. 下载本文的yapi-deploy项目
  2. 拷贝yapi-deploy(文件内包含yapi-virtual)文件夹到宿主机
  3. cd /yapi-deploy/yapi-virtual, 填写config.jsonservername, user, pass其中authSourcemongodb自带库,默认通过admin授权即可
  4. cd /yapi-deploy
  5. docker build -f Dockerfile -t demoyapi .
  6. docker run -d --name=yapi -p 3000:3000 demoyapi

以上6步完成部署

# 附录

pm2基本使用

  • pm2 list查看运行中的nodejs项目
  • pm2 start
  • pm2 stop
  • pm2 delete id
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-05-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # 背景
  • # 部署方式
    • # 可视化部署
      • # 虚拟机部署
        • # Docker部署
        • # 附录
        相关产品与服务
        专用宿主机
        专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档