YAPI是由由哪哪儿网大前端技术中心(YMFE)团队设计用于进行api接口管理的软件产品,其拥有权限管理,可视化接口管理,易用的模拟服务器,自动化测试,数据导入,插件机制,计在为开发,产品,测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建,发布,维护API。
下面主要来具体阐述如何构建一个雅皮平台软件,参考文档https://yapi.ymfe.org/devops/index.html
关闭防火墙,SELinux
1.安装部署nodejs
1.1下载官方安装包并解压,我下载的是最新版的:https://nodejs.org/dist/v10.14.2/node-v10.14.2-linux-x64.tar.xz
wget -O node-v10.14.2-linux-x64.tar.xz https://nodejs.org/dist/v10.14.2/node-v10.14.2-linux-x64.tar.xz
tar -xf node-v10.14.2-linux-x64.tar.xz
1.2部署环境
mv node-v10.14.2-linux-x64.tar.xz /usr/local/node/
echo 'export NODE_HOME=/usr/local/node' >> /etc/profile
echo 'export PATH=$NODE_HOME/bin:$PATH' >> /etc/profile
source /etc/profile
1.3检查暗转情况,看是否提示两个的版本号信息
node -v ; npm -v
2.安装部署mongodb
cat > /etc/yum.repos.d/mongodb.repo << EOF
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
EOF
yum clean all ; yum repolist
yum install -y mongodb-org
# 启动服务
systemctl restart mongod
systemctl enable mongod
配置数据库,使用命令mongo进行操作
use admin
#创建dba用户
db.createUser(
{
user: "dba",
pwd: "DbaPassword",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
#创建yapi数据库
use yapi
# 给yapi数据库添加test1用户(yapi默认的账号密码),权限为读写
db.createUser(
{
user: "test1",
pwd: "test1",
roles: [
{ role: "readWrite", db: "yapi" }
]
}
)
3.安装git
yum install -y git
# 检查是否安装成功
git --version
部署yapi
4.1创建工作目录
makdir yapi ; cd yapi
4.2下载github中的yapi文件(在工作目录下)
git clone https://github.com/YMFE/yapi.git vendors
4.3修改配置信息(具体的邮件部署和ldap登录部署就不详细讲解了),配置文件是/ yapi工作目录/vendors/config_example.json
{
"port": "3000",
"adminAccount": "admin@admin.com", # 管理员账号
"db": {
"servername": "127.0.0.1", # mongodb服务器的主机名
"DATABASE": "yapi", # 数据库中yapi数据存放的数据库名
"port": 27017, # 数据库的连接节点信息
"user": "test", # 连接数据库的用户信息
"pass": "test", # 连接数据库的密码
"authSource": ""
}
}
4.4拷贝配置文件至指定位置,并安装(在工作目录下)
# 这个操作很关键,必须在工作目录下执行,不然一定失败
cp vendors/config_example.json config.json
cd vendors/ ; npm install --production --registry https://registry.npm.taobao.org
4.5运行启动服务(在供应商目录下)
npm run install-server
npm install -S pm2 && npx pm2 start ./server/app.js
*。
然后就可以前往3000端口进行使用了
在搭建过程中,可能出现各种各样的问题,我把我遇到的分享出来
1.出现提示:代码ELIFECYCLE
故障猜测:安装意外中断导致有破损文件
解决方案:删除所有历史安装内容,再重新用安装
rm -rf node_modules
rm -f package-lock.json
npm cache clear --force
2.出现提示:stack错误:EACCES:权限被拒绝,mkdir’/root/yapi/vendors/node_modules/dtrace-provider/.node-gyp’
故障猜测:yapi权限不足,不能进入指定目录
解决方案:
1。在npm install命令后面加上–unsafe-perm = true –allow-root
2.看错误信息,直接手动mkdir -p创建
3。
在一个所有用户都能进入的目录下常见一个目录
,并且这个目录任何用户可以进入
3.出现提示:peerinvalid Peer mongoose-simpledb@4.0.3想要
mongoose@~3.8.18故障猜测:依赖未能解决
解决方案:把需要的包加到Package.json的依赖关系键值内
4.安装后我曾出现登录进去报告java运行中某个类不存在,我考虑到这个可能是是我下载的包有问题,所以我删除了yapi工作目录,重新装了一遍就好了