服务器环境: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/