一篇文章搞定easy-mock云服务部署(在自己的vps上愉快地玩耍easy-mock)

1,448 阅读3分钟

写这篇文章是因为网上虽然部署easy-mock的教程很多,但是很多都是本地部署,如果需要用来进行团队开发光在本地部署肯定是不够的,所以我把自己在虚拟机上部署esay-mock的过程记录下来,希望可以帮到有同样需求并且在部署过程中碰到困难产生疑惑的朋友。

1、购买虚拟机、启动、连接

购买过程略(没有的可以搜vps),deploy的时候系统选择centos7。

2. 安装node

我安装的是8.9.0版本,根据官网上的说法,10以上会有兼容问题。
easy-mock

具体过程:
cd到你的目录下
下载,解压,重命名:

wget https://nodejs.org/dist/v8.9.0/node-v8.9.0-linux-x64.tar.xz
tar xf node-v8.9.0-linux-x64.tar.xz
mv src/node-v8.9.0-linux-x64 node

将node添加至path: vi ~/.bashrc

export NODE_HOME=/usr/local/node ##(你自己的node文件夹路径)
export PATH=$NODE_HOME/bin:$PATH

编译bashrc脚本: source ~/.bashrc

查看安装是否成功:

node -v

3.安装redis

具体过程:
cd到你的目录下
下载,解压:

wget http://download.redis.io/releases/redis-3.2.1.tar.gz
tar xzf redis-3.2.1.tar.gz

进入文件夹,make,启动:

cd redis-3.2.1
make
cd src
./redis-server & 
## &意为放到后台执行

我当时照着教程执行到这的时候控制台报错了。
error 1:

make[3]: gcc: Command not found

原因是缺少gcc,安装

yum install gcc

error 2:

In file included from adlist.c:34:0:
zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
#include <jemalloc/jemalloc.h>

解决:make MALLOC=libc make成功后,控制台会提示:Hint: It's a good idea to run 'make test',此时继续输入:make test
error 3:

make[1]: Entering directory `/root/software/redis-3.0.0/src'
You need tcl 8.5 or newer in order to run the Redis test

原因:没有安装tcl,安装:yum install -y tcl,安装完成后输入make test。 到这,redis安装基本就没啥问题了。其实可以一开始就在控制台输入这句命令把没装上的都装上就行了:yum install gcc gcc-c++ tcl -y

3.安装mongodb

整个配置过程参考: Linux平台安装MongoDB
安装并且source了配置环境后,输入:

sudo mongo

查看控制台信息,如果显示

MongoDB shell version v4.0.0
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 4.0.0
Welcome to the MongoDB shell

则说明连接成功.

如果显示

[js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :

则显示连接失败,问题一般是没有删除dbpath指定的数据库文件夹下的mongod.lock文件,解决办法是

rm /data/db/mongod.lock #(输入你自己的路径)

然后重置一下之前的配置:

mongod -f  /data/mongodb.conf #(输入你自己的路径)

再启动:mongo

4.easy-mock

下载安装:

cd /usr/mock ##mock文件夹是我自己新建的
git clone https://github.com/easy-mock/easy-mock.git
cd easy-mock && npm install ## 安装依赖

配置easy-mock:
default.json文件:

"db": "mongodb://localhost:27017/easy-mock",

因为我需要的是稳定的生产版本,所以需要再安装pm2然后让node服务在后台运行

npm install -g pm2 ## 安装pm2 

使用pm2 运行全需要先build

npm run build
NODE_ENV=production pm2 start app.js

此时在控制台会看到运行画面,表示已经成功运行了。

接下来进行最后一部,安装配置nginx

5. Nginx配置

详细的安装过程可以看这篇文章:2019 年如何在 CentOS 7 上安装最新版 Nginx

安装好之后,打开nginx的默认配置文件,文件路径一般在/etc/nginx/nginx.conf

vi /etc/nginx/nginx.conf

找到server,修改两处配置:

root         /usr/mock/easy-mock/dist/  ## easy-mock 打包的地址
location / {
    proxy_pass http://localhost:7300; ## easy-mock配置的地址
}

修改完成后重新加载nginx:

sudo systemctl reload nginx

最后在浏览器中输入你的vps地址就大功告成了。