一、环境说明
- CentOS 7.6
- Node 14.13.0,镜像源为 taobao
- MongoDB 4.2.10
- Redis 5.0.5
Centos 7 安装 Redis
Centos 7 安装 MongoDB(偷懒版)。
二、下载并运行 Easy-Mock
1、创建项目存放目录
mkdir -p /data/node
2、下载项目和安装依赖(PS:因 easy-mock 已停止维护和存在部分 Bug,我已 fork 并进行部分 Bug 修复)
# 进入目录
cd /data/node
# 克隆本人 fork 修复的项目
git clone git@github.com:qiuziGirl/easy-mock.git
# 克隆官方项目
git clone git@github.com:easy-mock/easy-mock.git
3、安装依赖
# 进入目录
cd easy-mock
# 安装依赖
yarn
4、配置服务器安全组规则并开启 7300 端口
5、运行项目
若所连接的 MongoDB 和 Redis 都为该服务器的,配置文件 config/default.json
不需要修改(除非需要更改端口或其他配置)
# 因接下来以 yarn start 方式启动,需提前构建
yarn build
# 以生产环境方式启动
yarn start
6、通过服务器域名加端口进行访问测试
三、构建并部署 Easy-Mock
1、构建项目打包静态资源
yarn build
2、全局安装 PM2
yarn global add pm2
3、用 PM2 启动
NODE_ENV=production pm2 start app.js
4、关于 PM2 具体教程,以下罗列常用命令,具体请查看官网
pm2 start app.js
pm2 stop <app_name|namespace|id|'all'|json_conf>
pm2 restart <app_name|namespace|id|'all'|json_conf>
pm2 delete <app_name|namespace|id|'all'|json_conf>
四、给 Easy-Mock 项目配置域名(Nginx)
1、编辑 nginx.conf 配置文件,新增 server 项
server {
listen 80; # 监听 80 端口
server_name mock.qiuzi.fun; # 你的域名
root /data/node/easy-mock; # 映射项目路径
location / {
proxy_pass http://127.0.0.1:7300; # 代理至项目实际运行地址
}
}
2、重启 Nginx 成功后,浏览器输入对应网址进行验证
service nginx restart
或
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
若 80 端口被占用,通过 kill [id] 结束进程。
# 查看端口使用
netstat -lntp;
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 4351/mysqld
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 3078/memcached
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 2957/redis-server 1
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 9096/nginx: master
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 2942/pure-ftpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3027/sshd
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 9096/nginx: master
tcp 0 0 127.0.0.1:7773 0.0.0.0:* LISTEN 28167/node
tcp6 0 0 127.0.0.1:8006 :::* LISTEN 3865/java
tcp6 0 0 :::8080 :::* LISTEN 3865/java
tcp6 0 0 :::21 :::* LISTEN 2942/pure-ftpd
tcp6 0 0 :::7001 :::* LISTEN 28160/node
# 结束 80 端口进程
kill 9096;
再次重启 Nginx,浏览器验证
3、若需要配置 SSL,请移步看我这篇文章
五、配合项目使用演示
1、在 Easy-Mock 上新建项目 mock forward/data
服务
2、在前端项目 vue.config.js
新增代理地址配置
3、对需调用 mock 服务接口增加 /mock
前缀后,打开项目验证