内网部署流程:
一、外网服务器
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
# 完成