如何自己部署yapi

1 篇文章 0 订阅
1 篇文章 0 订阅

前言

  最近有需要和团队成员使用到yapi,但是有些接口不太适合放在公司已经部署好的yapi上,所有就有了自己部署一套yapi的想法,中间曲曲折折,最终终于搭建好了。

1. 环境

  最初我是在某云网站申请了一个免费的云服务器,虽说是免费,但是只是五天,想继续使用,需要在各贴吧发布广告贴来进行续期,每次续期五天。续期三次后,第四次忘记了,想起来的时候,发现云服务器已经被删除了。最终我索性花了点money购买了比较靠谱的某云服务器,使用的系统是Alibaba Cloud Linux 2,完美兼容centos7。
  我是新建了一个yapi用户来进行yapi的部署,在Linux上新建用户的命令:

# 添加用户,指定家目录,并同时创建和用户名相同的组
useradd -d /home/yapi -U yapi
# 修改密码
passwd yapi

2. 部署nodejs

我用的nodejs是12.20.2版本,一开始下载的最新的14版本,但是一直部署失败,网上翻阅有说需要降版本的,就降到了12版本。在官网下载后,直接解压。
官网下载地址:http://nodejs.cn/download/
阿里云镜像地址,可以任意选择版本:https://npm.taobao.org/mirrors/node/

# tar -xvf node-v12.20.2-linux-x64.tar.gz 解压后
$ ls
node-v12.20.2-linux-x64
# 设置环境变量
vi ~/.bash_profile
# nodejs 将下面四行写进文件
NODE_VER=v12.20.2
NODE_OS=linux-x64
NODE_HOME=$HOME/tools/node-$NODE_VER-$NODE_OS
PATH=$NODE_HOME/bin:$PATH
# 保存后,生效
source ~/.bash_profile
# 使用node -v ; npm -v 查看是否设置成功
$ node -v
v12.20.2

3. 部署mongodb

我使用的mongodb是社区版4.0.27版本。
官网下载:https://www.mongodb.com/try/download/community

# 下载后解压
$ ls
mongodb-4.0.27
# 创建存放数据和日志目录
$ cd mongodb-4.0.27/
$ mkdir data logs
# 创建配置文件
$ mkdir etc
$ vi mongod.conf
# 配置文件内容
systemLog:
  destination: file
  path: "/home/yapi/tools/mongodb-4.0.27/logs/mongod.log"  #日志存放路径
  logAppend: true
storage:
  dbPath: "/home/yapi/tools/mongodb-4.0.27/data"  #数据存放路径
  journal:
    enabled: true
processManagement:
  fork: true
net:
  bindIp: localhost
  port: 27017
# 启动
$ cd bin
$ ./mongod --config ../etc/mongod.conf./mongod --config ../etc/mongod.conf

#查看是否成功
$ ./mongo
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
yapi    0.001GB
> 

4. 部署yapi

根据这个文档进行部署。
官网地址:http://yapi.smart-xwork.cn/doc/devops/index.htmlhttp://yapi.smart-xwork.cn/doc/devops/index.html
两种方式我都试过,第一种比较简单:

# 安装yapi-cli, 指定使用淘宝镜像,速度比较快
$ npm install -g yapi-cli --registry https://registry.npm.taobao.org
# 安装完成后,直接使用命令,会提示在浏览器打开一个地址,把ip替换成自己虚拟机地址后,在浏览器打开
$ yapi server
在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip

这是可视化界面进行部署,在浏览器打开地址后,填入相应信息,就开始进行自动部署了。部署成功后,进入yapi的安装目录(部署时填写)。

$ ls
config.json  init.lock  log  vendors
$ cd vendors
# 启动yapi服务,部署成功后,应该会自动启动,这个地方我忘记了,但是不是后台运行的,退出后服务就停了。可以使用下面命令手动启动
$ node server/app.js

会提示登录地址及管理员用户、密码。 登录地址为 http://ip:3000,用户名为部署时自己填入的,密码一般默认为ymfe.org

5. pm2后台管理

yapi服务可以使用pm2进行后台运行。
pm2安装很简单

# 安装命令
npm install -g pm2

# 运行yapi服务,进入yapi部署的目录
cd vendors/server
pm2 start app.js --name myyapi

# yapi服务就会一直在后台运行了, pm2 status 查看
$ pm2 status
┌─────┬───────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id  │ name      │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
├─────┼───────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0   │ myyapi    │ default     │ 1.10.1  │ fork    │ 8330     │ 4D     │ 0    │ online    │ 0%       │ 85.3mb   │ yapi     │ disabled │
└─────┴───────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘

6. 完结

至此,yapi部署完成,简单功能可以使用,高价功能尚未使用。不过有个问题,明明部署了1.10.1,在登录后提示版本为1.10.0,建议升级1.10.1。 也没有找到是什么原因,不过不影响使用,就没有再关注。如果有知道的小伙伴,欢迎留言解疑。
部署时,遇到过好多问题,一开始操作系统使用的是Alibaba Cloud Linux 3(完美兼容centos8),可能是操作系统兼容问题,换了好几个node和mongodb的版本,都没有成功。 后来换了Alibaba Cloud Linux 2之后,把node版本降到12,才部署成功。兼容问题害死人啊。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值