yapi服务搭建

yapi搭建

旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API

https://hellosean1025.github.io/yapi/documents/index.html

1、mongodb安装(存储yapi数据)

https://www.mongodb.com/try/download/community

https://www.mongodb.com/try/download/community
[root@vm ~]# tar xf mongodb-linux-x86_64-rhel70-3.6.23.tgz
[root@vm ~]# mv mongodb-linux-x86_64-rhel70-3.6.23 /opt/mongodb-3.623
[root@vm ~]# cd /opt/mongodb-3.623
[root@vm mongodb-3.623]# mkdir {data,log,etc}
[root@vm mongodb-3.623]# cat etc/mongodb.conf
dbpath=/opt/mongodb-3.623/data/
logpath=/opt/mongodb-3.623/log/mongodb.log
port=27017
fork=true
journal=false
storageEngine=mmapv1
[root@vm mongodb-3.623]# bin/mongod -f etc/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 25695
child process started successfully, parent exiting
[root@vm mongodb-3.623]# ss -antup | grep 27017
tcp    LISTEN     0      128    127.0.0.1:27017                 *:*                   users:(("mongod",pid=25695,fd=11))

2、nodejs安装

https://nodejs.org/download/release/v12.18.2/

[root@vm ~]# cd /opt/
[root@vm opt]# tar xf node-v12.18.2-linux-x64.tar.gz
[root@vm opt]# vim /etc/profile
...
export NODE_HOME=/opt/node-v12.18.2-linux-x64/bin/
export PATH=$PATH:$NODE_HOME
[root@vm opt]# source /etc/profile
[root@vm ~]# npm install -g yapi-cli --registry https://registry.npm.taobao.org

3、初始化yapi

[root@vm opt]# yapi server
在浏览器打开 http://0.0.0.0:9090 访问。非本地服务器,请将 0.0.0.0 替换成指定的域名或ip
#浏览器里访问,选择版本及数据库,安装后显示如下日志
...
当前安装版本: 1.9.1
连接数据库成功!
开始下载平台文件压缩包...
http://registry.npm.taobao.org/yapi-vendor/download/yapi-vendor-1.9.1.tgz
...
依赖库安装完成,正在初始化数据库mongodb...

> [email protected] install-server /opt/my-yapi/vendors
>  node server/install.js
 log: mongodb load success...

 初始化管理员账号成功,账号名:"[email protected]",密码:"ymfe.org"

部署成功,请切换到部署目录,输入: "node vendors/server/app.js" 指令启动服务器, 然后在浏览器打开 http://127.0.0.1:3000 访问

yapi服务搭建_第1张图片
yapi服务搭建_第2张图片

4、启动yapi服务

[root@vm my-yapi]# node vendors/server/app.js  
log: -------------------------------------swaggerSyncUtils constructor-----------------------------------------------
log: 服务已启动,请打开下面链接访问:
http://127.0.0.1:3000/
log: mongodb load success...
(node:1687) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
定义初始化的配置(如需要)
[root@vm opt]# vim my-yapi/config.json
{
   "port": "3000",
   "closeRegister":true,#禁止注册		
   "adminAccount": "[email protected]",#管理员的账号
   "db": {
      "servername": "127.0.0.1",
      "DATABASE": "yapi",
      "port": "27017"
   },
   "mail": {
      "enable": false,
      "host": "smtp.163.com",
      "port": 465,
      "from": "***@163.com",
      "auth": {
         "user": "***@163.com",
         "pass": "*****"
      }
   }
}
[root@vm my-yapi]# nohup node vendors/server/app.js	 &		#停止服务后重新启动

http://127.0.0.1:3000/

安装遇到的小问题
#报错了未安装gcc、make的编译问题
[root@vm mongodb-3.623]# cd my-yapi/vendors/
[root@vm vendors]#  yum -y install gcc make			
[root@vm vendors]# npm uninstall json-schema-faker
[root@vm vendors]# npm install [email protected]
[root@vm vendors]# npm run install-server

> [email protected] install-server /opt/mongodb-3.623/my-yapi/vendors
>  node server/install.js

log: mongodb load success...
初始化管理员账号成功,账号名:"[email protected]",密码:"ymfe.org"

#需要重新安装,并清楚mongo的数据
[root@vm vendors]# node server/install.js				#
/opt/mongodb-3.623/my-yapi/vendors/server/install.js:15
    throw new Error(
    ^

Error: init.lock文件已存在,请确认您是否已安装。如果需要重新安装,请删掉init.lock文件
[root@vm vendors]# cd ..
[root@vm my-yapi]# rm -rf init.lock


[root@vm mongodb-3.623]# bin/mongo
> show dbs
admin   0.078GB
config  0.078GB
local   0.078GB
yapi    0.078GB
> use yapi
switched to db yapi
> db.dropDatabase()
{ "dropped" : "yapi", "ok" : 1 }		#删掉yapi库

[root@vm my-yapi]# node vendors/server/app.js  
log: -------------------------------------swaggerSyncUtils constructor-----------------------------------------------
log: 服务已启动,请打开下面链接访问:
http://127.0.0.1:3000/
log: mongodb load success...

[root@vm my-yapi]# nohup node vendors/server/app.js &

服务迁移,无数据

[root@vm1 ~]# cd /opt/
[root@vm1 opt]# tar -zcf myapi.tar.gz mongodb-3.623
另一台机器上上传myapi.tar.gz 
[root@vm ~]# cd /opt/
[root@vm opt]# tar xf myapi.tar.gz
[root@vm opt]# cd mongodb-3.623
[root@vm mongodb-3.623]# ls
bin   LICENSE-Community.txt  mongodb-linux-x86_64-rhel70-3.6.23.tgz  node-v12.18.2-linux-x64.tar.gz  THIRD-PARTY-NOTICES.gotools
data  log                    MPL-2                                   README
etc   my-yapi                                 THIRD-PARTY-NOTICES

[root@vm mongodb-3.623]# bin/mongod -f etc/mongodb.conf
[root@vm mongodb-3.623]# bin/mongo
> show dbs;
> use yapi
> db.dropDatabase()
> exit

[root@vm mongodb-3.623]# tar xf node-v12.18.2-linux-x64.tar.gz
[root@vm mongodb-3.623]# ln -s /opt/mongodb-3.623/node-v12.18.2-linux-x64/bin/node /usr/local/bin/
[root@vm mongodb-3.623]# cd my-yapi/
[root@vm my-yapi]# vim config.json
...
   "adminAccount": "[email protected]",
...
[root@vm my-yapi]# node vendors/server/install.js
初始化管理员账号成功,账号名:"[email protected]",密码:"ymfe.org"
[root@vm my-yapi]# nohup node vendors/server/app.js  &
log: -------------------------------------swaggerSyncUtils constructor-----------------------------------------------
log: 服务已启动,请打开下面链接访问:
http://127.0.0.1:3000/

mongo数据恢复

[root@vm mongodb-3.623]# cat etc/mongodb.conf
dbpath=/opt/mongodb-3.623/data/
logpath=/opt/mongodb-3.623/log/mongodb.log
port=27017
fork=true
journal=false
#auth=false
storageEngine=mmapv1
[root@vm mongodb-3.623]# tar -zcf mongo.tar.gz data/
[root@vm mongodb-3.623]# tar xf mongo.tar.gz
[root@vm mongodb-3.623]# rm -rf data/mongod.lock
[root@vm mongodb-3.623]# bin/mongod -f etc/mongodb.conf

你可能感兴趣的:(yapi,mongodb,数据库)