环境要求
- nodejs(7.6+)
- mongodb(2.6+)
安装nodejs
方式一 yum安装
- 设置yum安装源
curl -sL https://rpm.nodesource.com/setup_14.x | bash -
- 通过yum 安装node
yum -y install nodejs
- 检查是否安装成功
node -v
npm -v
温馨提示:nodesourece 截止到发文只支持到14以上的版本,如果安装14一下的版本可能不适合此方法
方式二 手动安装
- 进入到安装目录,我这里安装到usr/local目录
cd /usr/local
- 下载源文件到目录
wget https://cdn.npmmirror.com/binaries/node/v12.22.6/node-v12.22.6-linux-x64.tar.gz
- 解压文件
# 解压
tar -xvzf node-v12.22.6-linux-x64.tar.gz
# 重命名
mv node-v12.22.6-linux-x64 nodejs
# 删掉原文件
rm -rf node-v12.22.6-linux-x64.tar.gz
- 创建软连接
# 建立node软链接
ln -s /usr/local/nodejs/bin/node /usr/local/bin
# 建立npm 软链接
ln -s /usr/local/nodejs/bin/npm /usr/local/bin
由于yapi 在使用nodeV14+会出现报错,所以我选择第二种方法
安装mongodb
- 创建yum mongodb源头
vim /etc/yum.repos.d/mongodb-org-5.0.repo
- 把下面内容复制到文件中
[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc
- 使用yum 安装
yum -y install mongodb-org
yapi 部署
# 全局安装教授兼
npm install -g yapi-cli --registry https://registry.npm.taobao.org
# 运行
yapi server
如果是部署本地直接可以通过http://0.0.0.0:9090访问进行可视化部署
如果部署阿里云服务器直接替换成对应IP+9090端口访问
温馨提示: 如果阿里云服务器访问不了,注意排查一下以下原因
- 9090端口是否加入安全组(设置完重启一下阿里云服务器)
- 9090端口是否加入了防火墙
温馨提示 尽量选择高版本yapi 否则可能导致部署失败
执行 yapi server 启动可视化部署程序,输入相应的配置和点击开始部署,就能完成整个网站的部署。部署完成之后,可按照提示信息,执行 node/{网站路径/server/app.js} 启动服务器。在浏览器打开指定url, 点击登录输入您刚才设置的管理员邮箱,默认密码(ymfe.org) 登录系统(默认密码可在个人中心修改)
# 启动站点 如我的路径 /root/my-yapi
node /root/my-api/vendors/server/app.js}
#部署成功后可以通过ip或域名+3000端口访问
pm2 node进程管理器
pm2 可以在终端关闭的情况依然运行,适合线上部署
#全局安装pm2
npm install pm2 -g
# pm2 启动项目 如我的路径 /root/my-yapi
pm2 start /root/vendors/server/app.js
centos7 防火墙设置
# 查看防火墙状态
systemctl status firewalld.service
# 开启防火墙
systemctl start firewalld.service
# 查看防火墙端口白名单
firewall-cmd --list-port --permanent
# 如把9090端口加入防火墙
firewall-cmd --zone=public --add-port=9090/tcp --permanent
# 如把9090端口删除
firewall-cmd --zone=public --remove-port=9090/tcp --permanent
# 端口批量加入防火墙
firewall-cmd --zone=public --add-port=8000-9000/tcp --permanent
# 关闭防火墙
systemctl stop firewalld.service
# 重启防火墙
firewall-cmd --reload
设置完一定要重启防火墙