准备工作
-
1.一台服务器(话说最近掘金上很多卖服务器的垃圾广告,可被搞惨了..哈哈哈,推荐大家到阿里云官网合法途径购买哈~)
-
2.域名(个人觉得可有可无,因为需要域名备案,比较麻烦)
-
3.跟着这篇教程一步一步走
暂时没有服务器可以看这篇本地搭建Easy-Mock
开搞
1.先通过ssh工具连接到你的服务器
ssh root@你的服务器地址
当你看到下面这张图,恭喜你,连接服务器成功,阿里BABA的怀抱向你敞开~~
2.安装node
检查自己服务器的node版本,如果node大于v8.x,那么强烈建议卸载高版本node,卸载高版本node,卸载高版本node安装node 8.x版本,node 8.x版,node 8.x版,因为我在这个shi坑里踩了好久…
// 下载node
cd /usr/local/src
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
cd /usr/local
## 重命名
mv src/node-v8.9.0-linux-x64 node
## 将node添加至path
vi ~/.bashrc
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH
source ~/.bashrc
## 安装成功
node -v // 安装成功会显示Node版本
3.安装 MongoDB
cd /usr/local/src
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz
cd /usr/local
mv src/mongodb-linux-x86_64-3.0.6 mongodb
## path
vi ~/.bashrc
export MONGO_HOME=/usr/local/mongodb
export PATH=$MONGO_HOME/bin:$PATH
source ~/.bashrc
下载完毕之后,创建配置文件并启动服务:
## 创建数据目录
mkdir /data
mkdir /data/mongo
## 创建配置文件
vi /data/mongo/mongodb.cnf
其中配置文件的内容如下:
## /data/mongo/mongodb.cnf
dbpath=/data/mongo/
logpath=/data/mongo/mongo.log
logappend=true
fork=true
port=27017
journal=true
通过读取配置文件启动 MongoDB 服务:
## 配置文件方式启动mongo
mongod -f /data/mongo/mongodb.cnf
mongod -f /data/mongo/mongodb.cnf & (放到后台执行)
4.安装 Redis
cd /usr/local/src
wget http://download.redis.io/releases/redis-2.8.17.tar.gz
tar xzf redis-2.8.17.tar.gz
cd redis-2.8.17
make
Make 完后 redis-2.8.17 目录下会出现编译后的 Redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli,两个程序位于安装目录 src 目录下。
启动 Redis 服务:cd src
./redis-server &
5.部署Easy-Mock
如果没有 Libra 目录就新建该目录,我们将应用放在/usr/libra目录下:
cd /usr/libra
git clone https://github.com/easy-mock/easy-mock.git
## 安装依赖
cd easy-mock && npm install
修改Easy-Mock配置文件:
在easy-mock
文件夹下的config
文件夹中修改default.js
文件,
将所有的localhost
替换成你自己服务器地址.
配置服务器安全组规则并开启7300端口
运行Easy-Mock
## 运行
[root@1.1.1.1 easy-mock]# npm run dev
> easy-mock@1.6.0 dev /usr/libra/easy-mock
> nodemon --ignore views/ --ignore public/ app
[nodemon] 1.14.11
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node app.js`
server started at http://0.0.0.0:7300
通过上面的部署,便可以访问 你的IP:7300端口访问 Easy Mock 的页面了。
请留步,你以为这样就好了嘛,当你关闭控制台后,再次访问,居然挂了.
原因是关闭控制台会默认将这个node
进程关闭,所以会造成访问不了的尴尬菊面..
终极大招
用PM2
对node
进程守卫,保持永久在线.
## 安装pm2
npm install -g pm2
## 使用pm2 运行全需要先build
npm run build
NODE_ENV=production pm2 start app.js
好了,短短的三行代码,就解决了关闭控制台,不能访问的尴尬菊面啦,真开森~
最后再温馨提示下哦,如果你的服务器node
版本高于8.x
真的会出现莫名其妙的错误哦,不信你试试看,错误代码我都给你贴上了,到时候出错了,可别打我哈哈哈哈~
高能预警:由于高版本node造成的Easy-Mock安装失败!!
Error: listen EADDRINUSE 0.0.0.0:7300
at Server.setupListenHandle [as _listen2] (net.js:1334:14)
at listenInCluster (net.js:1382:12)
at doListen (net.js:1508:7)
at process._tickCallback (internal/process/next_tick.js:63:19)
at Function.Module.runMain (internal/modules/cjs/loader.js:745:11)
at startup (internal/bootstrap/node.js:266:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
Emitted 'error' event at:
at emitErrorNT (net.js:1361:8)
at process._tickCallback (internal/process/next_tick.js:63:19)
[... lines matching original stack trace ...]
at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
[nodemon] app crashed - waiting for file changes before starting...