提示:注意node版本,过高会报错,但可以运行,过低无法使用pm2运行。
centos7部署yapi
前言
提示:这里是直接在centos7中部署,没有用到docker
一、环境准备
安装yapi前,需部署node与mongodb
我这里用到的版本=》
node:v14.15.1
mongodb:v4.2.23
yapi:v1.8.0
1.node安装
1.1下载node,解压
- 方式一:直接从官网下载,上传。链接: node历史版本下载
路径:/usr/local/node
- 方式二:使用wget直接下载。
wget https://nodejs.org/download/release/v14.15.1/node-v14.15.1-linux-x64.tar.xz
解压缩
xz -d node-v14.15.1-linux-x64.tar.xz
tar -xf node-v14.15.1-linux-x64.tar
1.2部署bin文件
先确认你nodejs的路径,我这里的路径为/usr/local/node,确认后依次执行
ln -s /usr/local/node/nodejs/bin/node /usr/local/bin/node
ln -s /usr/local/node/nodejs/bin/npm /usr/local/bin/npm
ln -s /usr/local/node/nodejs/bin/npx /usr/local/bin/npx
注意ln指令用于创建关联(类似与Windows的快捷方式)必须给全路径,否则可能关联错误.
1.3测试
node -v
npm -v
npx -v
2.mongodb安装
2.1安装包下载
- 官网下载,通过winscp工具从windows上传到linux中
/usr/local/mongodb
下。
下载页面
解压:tar -xzvf mongodb-linux-x86_64-rhel70-4.2.23.tgz
2.2创建mongodb需要的文件夹,及配置文件
- 创建db目录及logs目录
mkdir -p ./data/db
mkdir -p ./logs
touch ./logs/mongodb.log
- 创建mongodb.conf文件
vim mongodb.conf
#端口号
port=27017
#db目录
dbpath=/usr/local/mongodb/data/db
#日志目录
logpath=/usr/local/mongodb/logs/mongodb.log
#后台
fork=true
#日志输出
logappend=true
#允许远程IP连接
bind_ip=0.0.0.0
2.3测试连接
- 启动
./mongodb-linux-x86_64-rhel70-4.2.23/bin/mongod --config ./mongodb.conf
- 连接测试
./mongodb-linux-x86_64-rhel70-4.2.23/bin/mongo
use adin
exit
2.4mongodb服务开机启动
- 1)创建mongodb.service文件
cd /lib/systemd/system
vim mongodb.service;
#加入配置的内容,注意mongodb执行文件路径
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.2.23/bin/mongod --config /usr/local/mongodb/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.2.23/bin/mongod --shutdown --config /usr/local/mongodb/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
#然后设置mongodb.service权限
chmod +x mongodb.service
- 2)启动mongodb服务
#注意,若之前测试时已经启动了mongodb,则用mongodb.service启动前,关闭mongodb
#mongod需要文件所在目录或者全路径执行,/usr/local/mongodb/data/db/为配置的db全路径
mongod --shutdown --dbpath /usr/local/mongodb/data/db/
#启动服务
systemctl start mongodb.service
#停止服务
systemctl stop mongodb.service
#添加开机自启动
systemctl enable mongodb.service
#重启服务
systemctl restart mongodb.service
2.5配置环境变量
1、直接用export命令:
export PATH=$PATH:/usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.2.23/bin
2、修改profile文件:
vim /etc/profile
加入下面内容
export PATH=$PATH:/usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.2.23/bin
source /etc/profile
3、 修改.bashrc文件:
vim /root/.bashrc
export PATH=$PATH:/usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.2.23/bin
上述三步依次执行完毕,环境变量配置完成!!!!
重启服务器,输入mongo 回车就有了。。。。。
2.6配置yapi账号
//使用admin数据库
use admin
//给admin数据库添加管理员用户名和密码,用户名和密码请自行设置
db.createUser({user:"admin",pwd:"123456",roles:["root"]})
//验证是否成功,返回1则代表成功
db.auth("admin", "123456")
//给yapi数据库设置密码
use yapi
//为yapi创建用户,用户名和密码请自行设置。
db.createUser({user: "yapi", pwd: "123456", roles: [{ role: "dbOwner", db: "yapi" }]})
2.7访问mongodb可视化工具
Robo 3T: link
二.部署yapi
1.下载安装
npm install -g yapi-cli --registry https://registry.npm.taobao.org
2.执行yapi server,选择版本,设置账号等信息
- 1)注意yapi目录,执行npm install -g yapi-cli --registry https://registry.npm.taobao.org后,会打印出对应目录
cd /usr/local/node/nodejs/bin/
./yapi server
- 2)访问9090端口,配置信息
- 3)启动yapi
cd /root/node/bin/my-yapi
node vendors/server/app.js
通过3000端口访问,默认账号密码为admin@admin.com/ymfe.org
,正常情况下,步骤2)中会显示默认账号密码,可能node版本影响,执行yapi server后有报错,不影响部署。
三.安装pm2
pm2是守护进程服务,在没有守护进程之前存在一些问题:
- 应用程序运行在当前终端发起的子shell中,hangup信号中断后会导致应用退出,我们不可能在长期使用的环境中用一个终端去做长连接。
- 当服务器重启后,还是需要人工连上服务器启动服务。
- 进程出现意外终止,等人为发现再连上去开启,这样的反应显然已经慢了。
- 1)安装
npm install pm2 -g
,注意打印的路径
- 2)配置环境变量
vim /etc/profile
#加入
PATH=$PATH:/usr/local/node/nodejs/lib/node_modules/pm2/bin/pm2
source /etc/profile
#将pm2的路径软连接到/usr/local/bin下
ln -s /usr/local/node/nodejs/lib/node_modules/pm2/bin/pm2 /usr/local/bin/
- 3)用pm2启动yapi
`pm2 start /root/node/bin/my-yapi/vendors/server/app.js --name yapi
用pm2查看部署的应用
pm2 list
可以直接访问yapi
`