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

  • Post author:
  • Post category:其他



内网部署流程:


一、外网服务器

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

#  完成



版权声明:本文为Tangyuan_92原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。