服务器环境:centOS 7.4

安装 nodejs

// 获取 yum 源,版本8.x
curl -sL https://rpm.nodesource.com/setup_8.x | bash -

// 安装
yum install -y nodejs

安装nodejs其他版本

1.进入官网:https://nodejs.org/en/download/
2.找到相应版本的下载链接:https://nodejs.org/dist/v12.16.2/node-v12.16.2-linux-x64.tar.xz
3.下载:wget https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz
4.需要先使用xz解压成tar格式:xz -d node-v12.16.2-linux-x64.tar.xz
5.然后解压tar格式:tar xf node-v12.16.2-linux-x64.tar
6.重命名文件夹,搞个好记的名字:mv node-v12.16.2-linux-x64 nodejs
7.移动文件夹,一般自己安装的是放在:/usr/local 下,不移动也可以的
8.搞两个软链:
ln -sv /usr/local/nodejs/bin/npm  /usr/local/bin/
ln -sv /usr/local/nodejs/bin/node  /usr/local/bin/
9.验证版本:
npm -v
node -v

安装 mongodb

// 添加 yum 源
vim /etc/yum.repos.d/mongodb-org.repo

// 输入以下内容,保存后退出
// baseurl中的链接地址根据你要安装的版本来,直接访问该地址可以看到其他版本
[mongodb-org]
name=MongoDB Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/4.0/x86_64/
gpgcheck=0
enabled=1

// 安装
yum install -y mongodb-org

安装中

安装完成

mongodb 简单配置

// 启动
service mongod start

// 设置开机启动
chkconfig mongod on

// 配置远程访问,打开如下文件
vim /etc/mongod.conf

// 注释掉(# 表示注释) bindIp: 127.0.0.1
# bindIp: 127.0.0.1

// 重启
service mongod restart

安装 git

yum -y install git

安装 Yapi

// 安装
npm install -g yapi-cli --registry https://registry.npm.taobao.org
// 安装完成后可以看到安装的目录
/usr/local/nodejs/bin/yapi -> /usr/local/nodejs/lib/node_modules/yapi-cli/bin/yapi-cli
/usr/local/nodejs/bin/yapi-cli -> /usr/local/nodejs/lib/node_modules/yapi-cli/bin/yapi-cli


// 启动
yapi server

或者
/usr/local/nodejs/bin/yapi   server

启动 Yapi 后显示如下

浏览器输入真实的IP或者域名即可进入 YApi 平台部署,本机安装位置:/root/my-yapi/

部署失败

报错信息一:Cannot find module 'xxxxxxx' 一般情况下是相应的模块么有安装,或者安装的时候没有加上 -g 导致不是全局安装导致的,安装上就好了

报错信息二:如下所示,其实这个已经是成功了,原因是数据库连接失败

yapi-vendor@1.8.8 install-server /root/my-yapi/vendors > node server/install.js Error: (node:8937) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.

解决方案: 进入安装目录(部署的时候选择的安装目录),打开文件 vendors/server/utils/db.js 找到如下语句,22行

let options = {useNewUrlParser: true, useCreateIndex: true};

# 添加一个参数,保存退出
let options = {useNewUrlParser: true, useCreateIndex: true, useUnifiedTopology: true};

这时候不要再次执行部署了,直接在项目的跟目录下新建一个init.lock文件即可,到此部署就完成了

部署成功后

部署成功后的启动方式:node /{部署的时候选择的安装目录/server/app.js},本机为: node /root/my-yapi/vendors/server/app.js

在浏览器打开指定url, 点击登录输入您刚才设置的管理员邮箱,默认密码为 ymfe.org 登录系统(默认密码可在个人中心修改)。

附录

  • 部署成功后,应该停止部署页面的访问,结束该进程即可,这个进程只是为了部署
  • 命令启动项目后会占据整个窗口,建议用守护进程后台启动,官方推荐PM2守护程序进程管理器,我一般用Supervisor,看个人熟悉程度
  • IP访问如果不成功,需要去相应的运营商开放端口
  • IP访问不方便,建议通过域名访问,采用Nginx反向代理即可
  • GitHub地址:https://github.com/YMFE/yapi
  • 文档地址:https://hellosean1025.github.io/yapi/