在做前後端分離項目的時候,前端工程師往往需要很多mock數據;人工手造數據不太現實,於是可以利用Easy-mock來完成這項大工程。
easy-mock是大搜車團隊開源的用於mock後端響應到前端的數據,你可以在easy-mock官網上創建自己的項目接口,但官網經常無法訪問,這就很蛋疼了。不過,好在easy-mock是個開源項目,所以我們可以下載源碼自行搭建服務。經過兩天的折騰,終於搞定了;下面記錄搭建的過程以及踩過的坑。
系統環境:linux centos7 64位 虛擬機環境安裝linux系統
用戶:root
1 安裝Node軟件
提前說明:node版本爲v8.x,不要使用高版本,不要使用高版本,不要使用高版本;我之前安裝過V12.x的node,後來啓動就報錯,無奈之下換回V8.x就好了。
下載軟件:
https://npm.taobao.org/mirrors/node/v8.10.0/node-v8.10.0-linux-x64.tar.xz
安裝過程:
cd /usr/local // 進入node安裝目錄,後續軟件統一都安裝在該目錄下
rz // 利用rz命令上傳本地文件到linux服務器,如果沒有該命令可以使用yum install lrzsz安裝
xz -d node-v8.10.0-linux-x64.tar.xz
tar -xvf node-v8.10.0-linux-x64.tar
mv node-v8.10.0-linux-x64 nodejs // 重命名爲nodejs
vi /etc/profile // 配置環境變量
// 在文件中增加如下環境變量:
export NODE_HOME=/usr/local/nodejs
export PATH=${PATH}:$NODE_HOME/bin
source /etc/profile // 使其生效
node –v // 查看當前node版本
npm –v // 查看當前npm版本
2 安裝redis軟件
軟件下載:
http://download.redis.io/releases/redis-4.0.14.tar.gz
官網要求redis版本必須大於V4.0
安裝過程:
cd /usr/local // 進入安裝目錄
rz // 上傳redis安裝包
tar xvzf redis-stable.tar.gz // 解壓
cd redis-4.0.14/ // 進入到解壓後的文件夾,進行編譯
yum install -y gcc // 編譯前使用yum安裝gcc編譯器
make // 編譯,需要一會兒;編譯完成後會生成redis-server和redis-cli
cp src/redis-server /usr/local/bin // redis服務啓動命令放到全局,便於後續利用
cp src/redis-cli /usr/local/bin // redis客戶端命令放到全局,便於後續利用
vi redis.conf // 打開redis.conf配置文件,後續啓動需要依賴此配置文件
// 修改該文件的三處配置:
bind 127.0.0.1 修改爲 # bind 127.0.0.1 使得外部ip可以訪問
protected-mode yes修改爲protected-mode no // 不啓動保護模式,便於外部訪問
daemonize no修改爲daemonize yes
redis-server redis.conf // 利用redis.conf配置文件啓動redis服務
// 若想要看redis-server服務是否啓動,可以通過下面的命令查看:
netstat -lnap | grep "6379" // 6379是redis服務默認的端口號
// 關閉redis服務使用命令 在修改配置文件之前確保redis服務沒有啓動
redis-cli shutdown
3 安裝mongodb數據庫
下載軟件:
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.13.tgz
安裝過程:
cd /usr/local
tar zxvf mongodb-linux-x86_64-3.6.13.tgz
mv mongodb-linux-x86_64-3.6.13.tgz mongodb // 重命名爲mongodb
vi /etc/profile // 增加全局配置
// 配置文件增加:
export MONGODB_HOME=/usr/local/mongodb
export PATH=${PATH}:$NODE_HOME/bin:$MONGODB_HOME/bin
source /etc/profile // 使配置文件生效
mkdir -p /usr/local/mongodb/data // 創建mongodb數據文件
mkdir -p /usr/local/mongodb/logs // 創建mongodb日誌文件
cd /usr/local/mongodb/
vi mongo.conf // 新建mongodb配置文件
// 配置文件內容如下
dbpath=/usr/local/mongodb/data
logpath=/usr/local/mongodb/logs/mongo.log
logappend=true
journal=true
quiet=true
bind_ip_all=true
port=27017
fork=true // 後臺運行
cd /usr/local/mongodb
bin/mongod –f mongo.conf // 啓動mongodb服務
若搭建過程遇見48,100等錯誤代碼,可以參考此方法解決。
4 拉取easy-mock代碼
yum install –y git // 安裝git
git clone https://github.com/easy-mock/easy-mock.git // git克隆倉庫代碼
cd easy-mock
npm install // 安裝項目依賴的插件 耗時較長
vi config/default.json // 修改配置文件
把配置文件內兩處name爲“host”的值改爲ip,這樣便於提供服務。修改後的配置文件爲:
{
"port": 7300,
"host": "192.168.198.129", // localhost修改爲ip
"pageSize": 30,
"proxy": false,
"db": "mongodb://127.0.0.1/easy-mock",
"unsplashClientId": "",
"redis": {
"keyPrefix": "[Easy Mock]",
"port": 6379,
"host": "192.168.198.129", // localhost修改爲ip
"password": "",
"db": 0
},
"blackList": {
"projects": [],
"ips": []
},
"rateLimit": {
"max": 1000,
"duration": 1000
},
"jwt": {
"expire": "14 days",
"secret": "shared-secret"
},
"upload": {
"types": [".jpg", ".jpeg", ".png", ".gif", ".json", ".yml", ".yaml"],
"size": 5242880,
"dir": "../public/upload",
"expire": {
"types": [".json", ".yml", ".yaml"],
"day": -1
}
},
"ldap": {
"server": "",
"bindDN": "",
"password": "",
"filter": {
"base": "",
"attributeName": ""
}
},
"fe": {
"copyright": "",
"storageNamespace": "easy-mock_",
"timeout": 25000,
"publicPath": "/dist/"
}
}
systemctl stop firewalld.service // 關閉防火牆
5 安裝pm2並啓動服務
npm install –g pm2 //全局安裝pm2
pm2 –v // 查看pm2版本 如果出現未找到pm2命令,則執行下面命令
ln -s /usr/local/nodejs/node_global_path/bin/pm2 /usr/local/bin //建立軟連接
pm2 start /usr/local/easy-mock/app.js // 啓動後臺服務
如果出現下面信息則表明啓動成功: