在Centos7上部署Yapi

发布时间 2023-06-28 20:52:31作者: super-ma

组件版本:

CentOS 7
Node v12.22.9
mongoDB v4.4.22
Yapi v1.12.0

一、安装node

node下载地址:https://registry.npmmirror.com/binary.html?path=node/v12.22.9/
下载node压缩包到本地,解压缩文件,移动并重命名node

# 下载压缩包到本地
wget https://registry.npmmirror.com/-/binary/node/v12.22.9/node-v12.22.9-linux-x64.tar.gz

# 解压压缩包
tar -zxvf node-v12.22.9-linux-x64.tar.gz

# 移动node位置并重新命名
mv node-v12.22.9-linux-x64 /usr/local/node

添加node软连接

# 添加node软连接
ln -s /usr/local/node/bin/node /usr/bin/node
ln -s /usr/local/node/bin/npm /usr/bin/npm

# 查看node和npm版本
node -v
npm -v

二、安装mongoDB

mongoDB下载地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.22.tgz

MongoDB官方网站找到community社区版,https://www.mongodb.com/download-center/community
然后选择对应的版本下载,Centos就是Redhat,所以这里选择Redhat。

1. 下载node压缩包到本地,解压缩文件,移动并重命名node

# 下载压缩包到本地
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.22.tgz

# 解压压缩包
tar -zxvf mongodb-linux-x86_64-rhel70-4.4.22.tgz

# 移动node位置并重新命名
mv mongodb-linux-x86_64-rhel70-4.4.22 /usr/local/mongodb

2. 配置mongoDB文件夹和配置文件

2.1 进入mongodb目录 cd /usr/local/mongodb

  • 执行 mkdir data 用来存放mongodb的数据库数据
  • 执行 mkdir logs 用来存放mongodb运行产生的日志

2.2 创建配置文件

  • 执行 vim mongodb.conf 指定数据库路径,日志路径及其他启动参数,比如端口号,是否开启认证等。
  • 填写配置信息,其他配置请查询官网,这里配置主要的
# 日志文件位置
logpath=/software/mongodb/logs/mongod.log
# 以追加方式写入日志
logappend=true
# 是否以守护进程方式运行
fork=true
# 默认27017
port = 27017
# 数据库文件位置
dbpath=/software/mongodb/data
# 允许哪个ip的连接,0.0.0.0表示任意ip都可以连接
bind_ip=0.0.0.0
# 是否以安全认证方式运行,默认是不认证的非安全方式,一开始安装启动不要开启,设置好密码后再重启
auth = false

2.3 将mongoDB的命令,添加到profile中

# 编辑profile文件
vim /etc/profile
# 文件尾部添加一行
export PATH=/usr/local/mongodb/bin:$PATH
# 刷新使修改生效
source /etc/profile

3.启动mongodb
3.1 进入到 /usr/local/mongodb/bin 下面,执行mongod -f mongodb.conf
image
出现successfully,代表启动成功。

3.2 启动成功后,执行mongo,进入到mongodb shell
image

3.3 注册mongodb到系统,实现开机启动

  • 在系统服务目录下,新建mongodb的启动服务
cd /lib/systemd/system
vi mongodb.service
  • mongodb.service文件内容如下:(路径必须写绝对路径)
[Unit]

Description=mongodb
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/bin/mongodb.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  • mongodb.service文件权限改为754
chmod 754 mongodb.service
  • 启动mongodb命令
# 启动
systemctl start mongodb.service
# 关闭
systemctl stop mongodb.service
# 注册到开机启动
systemctl enable mongodb.service
  • 在局域网内的其它机器,可能会发现无法连接,通常这都是防火墙的端口没有打开造成的
    使用命令打开端口
# 查询所有已开放的端口
firewall-cmd --zone=public --list-ports
# 开启端口
firewall-cmd --zone=public --add-port=27017/tcp --permanent
# 查看是否开启
firewall-cmd --permanent --query-port=27017/tcp
# 重启防火墙
firewall-cmd --reload
  • 注意事项:要加上 --permanent 才能保证重启后也能打开
# 重启centos
reboot

三、安装Yapi

参考官方部署教程,使用yapi-cli部署

npm install -g yapi-cli --registry https://registry.npm.taobao.org
yapi server
  • yapi server 报错找不到yapi时,添加yapi软连接
ln -s /usr/local/node/bin/yapi /usr/bin/yapi

使用浏览器登录IP:9090,开始可视化安装,版本选择1.12.0
image

命令行看到登录邮箱和密码即为部署成功
image

按照指示,切换到部署目录,输入:node vendors/server/app.js指令启动服务器, 然后在浏览器打开IP:3000

四、YApi守护进程(使用pm2)

部署Yapi后,这里使用pm2创建守护进程,方法很简单:
安装pm2

npm i pm2 -g

切换到yapi的vendors目录 执行pm2 start

pm2 start server/app.js  --watch

这样就实现了!