安装环境准备
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镜像出来就舒服了