稚鱼
稚鱼
发布于 2021-07-23 / 56 阅读
0
0

CentOS7安装部署YApi笔记

安装环境准备

PS:我这里全程拥有root权限的,包括mongo,所以不存在文件夹没权限之类

nodejs & npm安装

我使用的是wget下载然后手动安装,前期有试过yum安装但是版本是6.17左右(YApi要求最低版本7.6+),按照网上的升级教程又总没折腾成功就放弃了转为手动安装,也并不复杂。首先输入下面确认你是否有wget,直接命令行输入wget如果有的话会提示“wget:未指定 URL”之类信息,没有的话直接yum -y install wget安装即可,确定是否存在gcc编译器环境gcc -v,没有的话直接yum install gcc gcc-c++ 安装即可(感觉这一步不必要,因为我们是解压安装而非编译安装,但是保险起见我把自己安装过程中做的事情都记下来),都安装完成后进入你想要保存文件的路径(我个人是在/usr/local)运行下面命令下载nodejs,建议直接跑我这个命令,我前面弄了次v16的node不知道哪里出了问题后面又卸载了...当然了你喜欢别的版本也行,直接访问https://npm.taobao.org/mirrors/node/ 自行选择哪个版本然后复制下载URL替换到wget命令后面即可

##下载node
wget https://npm.taobao.org/mirrors/node/v12.16.1/node-v12.16.1-linux-x64.tar.gz
##解压
tar -xvf node-v12.16.1-linux-x64.tar.gz

解压出来之后ls -l可以看到当前目录底下多了个node源文件夹,到这一步其实已经可以算是安装完成了,但是还没完全安装完成...国际惯例你需要让系统找到你的程序运行位置,即:配置环境变量

##我个人是把解压出来的node程序文件夹改名了,属于可有可无个人习惯,所以会和解压默认文件夹名称不太一样。
mv node-v12.16.1-linux-x64 node-v12.16.1
##编辑系统配置文件
vim /etc/profile
##复制下面两行内容,将路径改成你自己的即可,粘贴到配置文件最后面
export NODE_HOME=/usr/local/node-v12.16.1
export PATH=$NODE_HOME/bin:$PATH
##改完配置文件使配置生效
source /etc/profile

然后不出意外应该node就安装完成了,可以执行下node -v测试下。然后npm是配套node已经自己安装好了。

Mongo DB安装

## 创建并编辑mongo yum仓库文件
vim /etc/yum.repos.d/mongodb-org-4.2.repo

填入以下内容:

[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

然后执行命令

yum install -y mongodb-org

即可安装成功。为了在服务器以外能够连接到这个mongo,需要修改mongo监听地址为0.0.0.0 直接编辑/etc/mongod.conf文件即可

##编辑mongo配置文件
vim /etc/mongod.conf
##修改net.bindIp对应熟悉值即可。比如我修改后的部分配置如下:
net:
  port: 27017
  bindIp: 0.0.0.0

然后确认你电脑是否开启了防火墙,如果开启了防火墙你还需要配置开放mongo的端口,不然一样连不上

## 这里permanent是永久生效的意思,不然你服务器重启了这个端口又被堵上了
firewall-cmd --zone=public --add-port=27017/tcp --permanent
firewall-cmd --reload

然后把你mongo跑起来

systemctl start mongod

然后按照官方建议,我还装了git

yum install -y git

还装了node-gyp,然后node-gyp需要依赖python、gcc等环境,我就反手也装了python

 ## 安装python rpm包
 yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
 ## 安装python3
 yum install -y python36
 ## 安装pip
 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
 python3 get-pip.py
 ## 安装node-gyp
 npm install -g node-gyp

安装YApi-cli并部署YApi服务

我是用的官方提供的可视化安装YApi-cli所以这样走的

## 安装官方推荐的pm2做服务进程管理
npm install -g pm2
## 安装yapi-cli
npm install -g yapi-cli --registry https://registry.npm.taobao.org
## 启动安装程序
yapi server 

执行可视化部署之后按照输出内容提示打开网页进行部署配置(记下部署路径后面会用到)之后稍等片刻就安装完成了。然后进入前面记下的部署目录

## 比如我的部署路径是/usr/local/node-v12.16.1/lib/node_modules/yapi-cli/my-yapi
cd /usr/local/node-v12.16.1/lib/node_modules/yapi-cli/my-yapi
## 启动YApi服务,这种启动方式在control+c退出日志输出时候也会停止yapi服务
node vendors/server/app.js
## 当然了前面我们装了pm2嘛,可以用pm2跑
pm2 start "/usr/local/node-v12.16.1/lib/node_modules/yapi-cli/my-yapi/vendors/server/app.js" --name yapi
## 停止YApi服务
pm2 stop yapi        # pm2 停止
## 查看pm2服务列表
pm2 list             # pm2 查看运行状态
## 查看服务信息
pm2 info yapi

其它边边角角什么开机启动,域名代理、mongo安全认证之类不详述。

后面计划找机会学习一下搞个docker镜像出来就舒服了


评论