YApi内网部署、外网部署教程

内网部署流程:

一、外网服务器

1、通过连接外网服务器下载、安装node;

2、通过连接外网服务器下载、安装MongoDB;

3、通过连接外网服务器下载YApi,并打包;

4、通过连接外网服务器下载MP2,并打包;

二、内网服务器

5、将已下载的Node、MongoDB、YApi、MP2安装包上传到内网服务器(最好通过CRT上传);

6、按顺序依次 安装以上程序;

7、启动已安装服务,开通防火墙端口(centos需要开);

8、登录系统;

 

备注;

1、以下加#的部分为说明,无需执行或者复制;

2、如果在外网服务器或者虚拟机中部署,请忽略上边内网服务器5、6、步骤;

3、建议将所有安装包放到一块,例如/opt/yapi目录下,然后通过软连接连接到/usr/local/bin目录下;

 

#外网部分

1、#下载、安装Node

    1)、#解压Node.js

 

#***.tar.xz格式文件需要两部解压步骤,

xz -d node-v8.11.2-linux-x64.tar.xz

tar -xvf node-v8.11.2-linux-x64.tar

#解压后将文件夹移动

sudo mv node-$VERSION(版本)-$DISTRO /usr/local/bin/node

#目标目录路径:/usr/local/bin/node

 

    2)、#配置环境变量:

 

vi /etc/profile

#将以下内容插入到末行;

# Nodejs

export NODEJS_HOME=/usr/local/bin/node/bin

export PATH=$NODEJS_HOME:$PATH

 

:wq

#保存文件

 source /etc/profile 

#使配置文件生效

    3)、#验证

node -v

npm -v

 

2、安装MongoDB

    1)、#解压MongoDB

tar -zxvf mongodb-linux-x86_64-4.1.6.tgz

2)、#重命名、移动到/usr/local/bin目录下;

mv mongodb-linux-x86_64-4.1.6 mongodb

sudo mv  mongodb /usr/local/bin/

#或使用以下合并目录

sudo mv mongodb-linux-x86_64-4.1.6 /usr/local/mongodb

 

3)、# 把mongodb放入环境变量中, 修改~/.bashrc, 加入以下内容

sudo vim /etc/bashrc

#添加内容

export PATH=<mongodb文件夹的路径>/bin:$PATH

export PATH=/usr/local/bin/mongodb/bin:$PATH

#验证安装

source ~/.bashrc

mongo --version

 

4)、 #创建dbdata/db文件夹和dblog文件夹(请自行确保这些文件夹的读写权限)

mkdir dbdata/db

mkdir dblog

5)、#启动mongodb服务

#进入/usr/local/bin/mongodb/bin目录下;

./mongod --dbpath=/usr/local/bin/mongodb/dbdata/ --logpath=/usr/local/bin/mongodb/dblog/logs --fork

 

 

 

 

3、#通过连接外网服务器下载YApi,并打包

1)、#在外网机器获取yapi源码并安装依赖

#使用git获取yapi源码, 如果没有git命令请按照对应平台的安装方法安装git.

#创建一个新文件夹yapi, 使用clone将yapi源码放入vendors中:

mkdir yapi

cd yapi

git clone https://github.com/YMFE/yapi.git vendors

 

cp vendors/config_example.json ./config.json

cd vendors

npm install --production

 

#将创建的yapi文件夹打成压缩包得到yapi.tar.gz(其目录下有config.json和vendors)

tar -czf yapi.tar.gz yapi

2)、#我这里还安装了PM2

npm install -S pm2

离线安装PM2

#拷贝你的 pm2.tar.gz 到该目录下

tar xvf pm2.tar.gz

#到这一步,你已经可以使用 /usr/local/node/lib/node_modules/pm2/bin/pm2 执行pm2的命令了, 下面就是把这个命令加到系统环境中

ln -s /usr/local/node/lib/node_modules/pm2/bin/pm2 /usr/bin/pm2

这样,就可以直接使用pm2命令来各种操作了

#将创建的PM2文件夹打成压缩包得到yapi.tar.gz

#至此, 所有需要外部网络的操作已经完成, 可以进行内网部署.

 

 

#内网部分

1、#通过CRT上传安装包

 

 

2、#安装Node、MongoDB参考外网部分1、2;

3、安装yapi

#解压yapi.tar.gz

tar -zxvf yapi.tar.gz

#按需要修改yapi/config.json中的相关配置(例如管理员账号等)

#初始化数据库:

cd ./yapi/vendors

npm run install-server

//启动服务器后,请访问 127.0.0.1:{config.json配置的端口},初次运行会有个编译的过程,请耐心等候

(如果此步骤运行失败,报错认证失败,请参考常见问题:1)

 

4、离线安装PM2

#拷贝你的 pm2.tar.gz 到该目录下

tar xvf pm2.tar.gz

#到这一步,你已经可以使用 /usr/local/node/lib/node_modules/pm2/bin/pm2 执行pm2的命令了, 下面就是把这个命令加到系统环境中

ln -s /usr/local/node/lib/node_modules/pm2/bin/pm2 /usr/bin/pm2

这样,就可以直接使用pm2命令来各种操作了

5、#使用pm2启动

npx pm2 start ./server/app.js

 

 

#启动完成后即可尝试访问yapi看是否成功, 具体地址要根据内网机器的ip和在config.json中配置的端口号

#如果要关闭yapi服务, 可以使用

npx pm2 stop all

 

#外部访问需要 防火墙开端口;

#添加

firewall-cmd --zone=public --add-port=3000/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)

#重新载入

firewall-cmd --reload

 

#备注:

#1、管理员账号名可在 config.json 配置

 

 

 

 

 

常见问题:1

#如果出现认证失败错误请按照以下步骤执行;

1、#进入数据库

mongo

2、#进入admin库

use admin

3、#添加一个用户root(此步骤可不执行)

db.createUser({user:"root",pwd:"密码",roles:["root"]})

添加个用户备用

4、#进入YApi库

use yapi

5、#添加一个用户

db.createUser({

user: "用户",

pwd: "密码",

roles: [{role: "dbOwner",db: "yapi"}]

})

用户权限根据需要定义

 

 

 

6、#Ctrl+c退出数据库编辑;

7、#编辑yapi配置文件

vim confing.json

8、#将新增的mongodb用户、密码添加到confing.json文件中的user、pass字段中

 

 

 

 

 

#ubuntu安装部署MongoDB

#安装MongoDB

#默认apt安装的版本教低,手动安装之

Wget https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org-server_4.0.4_amd64.deb

dpkg -i mongodb-org-server_4.0.4_amd64.deb

mkdir -p /data/mongodb #创建mongodb的储存路径

#创建mongodb的配置文件/etc/mongodb.conf

dbpath=/data/mongodb

logpath=/data/mongodb/mongodb.log

logappend=true

bind_ip = 127.0.0.1

journal=true

#启动mongodb

/usr/bin/mongod --config /etc/mongodb.conf --fork

 

pm2 -v显示command not found

     

    #原因是没有将pm2加至环境变量中

    #先找到node的目录 可以用whereis node来查找

    node: /usr/local/bin/node

   # 这是本地环境变量的路径

    cd /usr/local/bin 进入

    ll  查看所有

    lrwxrwxrwx 1 root root      43 Jul  6 09:49 node -> /usr/nodejs/node-v8.11.3-linux-x64/bin/node

    lrwxrwxrwx 1 root root      42 Jul  6 09:49 npm -> /usr/nodejs/node-v8.11.3-linux-x64/bin/npm

    #这就找到了node的目录 /usr/nodejs/node-v8.11.3-linux-x64/bin

    cd /usr/nodejs/node-v8.11.3-linux-x64/bin 进入目录

    node  npm  npx  pm2  pm2-dev  pm2-docker  pm2-runtime

    #发现pm2就在其中

   # 将pm2加至本地的环境变量

    ln -s /usr/nodejs/node-v8.11.3-linux-x64/bin/pm2 /usr/local/bin

     

    [root@izbp171vm9829r4ns74pc7z bin]# pm2 -v

    3.0.4

     

  #  完成

 

 

 

 

 

 

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值