linux搭建YAPI
搭建前环境准备:
nodejs(7.6+)
mongodb(2.6+)
本文搭建YAPI所用到的环境:
nodejs(10.15.1)
mongodb(4.4.8)
注:nodejs版本太高会导致错误。
注2:经测试,node,12.18.2版本按照本文步骤也可以搭建成功。
mongoDB安装:
1.去官网(https://www.mongodb.com/zh-cn)下载相对应的版本的压缩包。
2.用FTP上传至你的linux的服务器上。
3.解压 tar -zxvf xxx(文件名)
4.进入解压后的文件夹,在文件夹中创建数据库目录和日志目录
mkdir data
mkdir log
5.配置mongoDB的环境变量
vim /etc/profile
# 添加环境变量
export MONGODB_HOME=xxx(mongoDB所在的路径)
export PATH=$MONGODB_HOME/bin:$PATH
6.刷新环境变量
source /etc/profile
7.测试,查看mongoDB的版本
mongod -version
8.启动mongoDB
mongod --dbpath /usr/local/mongodb/data --logpath /usr/local/mongodb/log/mongod.log --port 27017 --fork
9.停止mongoDB
mongod --dbpath /usr/local/mongodb/data --logpath /usr/local/mongodb/log/mongod.log --shutdown
nodeJS安装
1.去官网(https://nodejs.org/en/)下载相对应的版本的压缩包。
2.用FTP上传至你的linux的服务器上。
3.解压 tar -zxvf xxx(文件名)
4.配置node的环境变量
vim /etc/profile
# 添加环境变量
export NODE_HOME=/usr/local/nodejs(你解压node的根目录)
export PATH=$MONGODB_HOME/bin:$NODE_HOME/bin:$PATH
5.刷新环境变量
source /etc/profile
6.测试,查看node,npm的版本
node -v
npm -v
7.设置npm淘宝源
npm config set registry https://registry.npm.taobao.org
部署YAPI
1.安装可视化部署
npm install -g yapi-cli
2.启动服务
yapi server
注:使用阿里云搭建YAPI的小伙伴需要将阿里云中的安全策略设置,将9090端口打开。
3.可视化部署
点击开始部署(注,点击开始部署之后不要乱动。等待运行完成。否则需要重新部署且mongodb创建的数据库也要一并删除。)
安装完成后初始的用户名(admin@admin.com)密码(ymfe.org)
4.完成
YAPI踩坑实录:
1.在linux下部署YAPI,不要使用ROOT用户!不要使用ROOT用户!不要使用ROOT用户!(重要的事情,一定要说三遍)
原因:使用 “yapi server” 命令使用页面部署YAPI的时候,执行的过程中,脚本里存在NPM的命令。但是在ROOT的用户下,NPM命令因为安全起见,会默认切换到一个nobody的用户来运行。该用户基本没有任何的权限。所以,这里就会报一个错误。
官网解释(译文):npm 出于安全考虑不支持以 root 用户运行,即使你用 root 用户身份运行了,npm 会自动转成一个叫 nobody 的用户来运行,而这个用户几乎没有任何权限。这样的话如果你脚本里有一些需要权限的操作,比如写文件(尤其是写 /root/.node-gyp),就会崩掉了。为了避免这种情况,要么按照 npm 的规矩来,专门建一个用于运行 npm 的高权限用户;
解决方案(传送门):https://zhuanlan.zhihu.com/p/165493390
2.不建议大家安装yapi-plugin-import-swagger-customize这个yapi插件,建议使用easy-yapi来实现单接口上传yapi的操作