版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
环境准备
- 操作系统:centos 7
- 环境要求:
- nodejs>7.6
- mongodb>2.6
- git
安装nodejs
- 获取资源(部署nodejs尽可能选择偶数版本,因为偶数版本官方有较长的维护时间,故这次选择8.x。)
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
- 安装
yum install -y nodejs
- 查看版本
node -v
- 查看npm版本
npm -v
安装mongodb
- 更新yum源,非必须但是更新一下无害
yum -y update
- 添加mongodb源文件,在/etc/yum.repos.d 创建一个 mongodb-org.repo 文件
touch /etc/yum.repos.d/mongodb-org.repo
- 编辑mongodb-org.repo文件
vim /etc/yum.repos.d/mongodb-org.repo
- 添加文件内容
[mongodb-org] name=MongoDB Repository baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/3.2/x86_64/ gpgcheck=0 enabled=1
- 安装mongodb
yum install -y mongodb-org
- 启动mongodb
service mongod start
- 设置开机启动
chkconfig mongod on
- 打开moMongoDB(可忽略)
/bin/mongo
- 配置远程访问
- 修改mongod.conf配置文件
vim /etc/mongod.conf
- 注释 bindIp: 127.0.0.1
#bindIp: 127.0.0.1
- 重启mongod
service mongod restart
安装git
- 官方推荐,在内网部署的时候安装git,可以根据自己所需安装
yum -y install git
搭建YApi环境
搭建YApi
- 准备环境搭建完成后,开始搭建YApi,安装命令
npm install -g yapi-cli --registry https://registry.npm.taobao.org yapi server
-
实例截图:
- 执行 yapi server 启动可视化部署程序,浏览器打开提示窗口上的地址,非本地服务器,将0.0.0.0替换指定的域名或IP,进入部署页面。
-
实例截图
- 根据项目实际需要可以修改部署信息,点击【开始部署】,完成部署任务
-
部署成功截图
4.根据部署日志截图上的提示信息,启动服务
启动服务:node vendors/server/app.js
浏览器打开部署日志上的访问地址http://127.0.0.1:3000就可以访问搭建的YApi工具了(非本地服务器,将127.0.0.1替换指定的域名或IP),此时YApi本地环境搭建完成
如果是阿里云ecs服务器,端口需要在安全组里开放,不然访问不了
5.pm2方式管理进程
要保证后台保持进程,需要安装pm2。
全局安装:
npm install -g pm2
启动:
cd vendors
pm2 start server/app.js --watch
重启:
pm2 restart service/app.js
停止:
可以先通过pm2 list
获取应用的名字(--name指定的)或者进程id。
pm2 stop app_name|app_id
pm2使用参考文档:
http://imweb.io/topic/57c8cbb27f226f687b365636
6.升级
升级项目版本是非常容易的,并且不会影响已有的项目数据,只会同步 vendors 目录下的源码文件。
cd {项目目录} yapi ls //查看版本号列表 yapi update //更新到最新版本 yapi update -v {Version} //更新到指定版本
9.nginx代理
如果您是将服务器代理到 nginx 服务器,请配置 nginx 支持 websocket。
在location /添加 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";
10.禁止注册
在 config.json 添加 closeRegister:true
配置项,就可以禁止用户注册 yapi 平台,修改完成后,请重启 yapi 服务器。
{ "port": "*****", "closeRegister":true }