掘友好習慣^-^
收藏 + 點贊 + 評論node
前不久,我孤軍奮戰開源了基於Vue全家桶的移動電商項目ddBuy,截至目前已有13000+star,從開源到如今一直保持更新和迭代,某天凌晨3點收到了個老外的反饋說I can't read Chinese, can you have it in English to ddBuy
,一大早醒來,摸了摸狗頭,說幹咱就幹,不就是個國際化麼,有望在下個版本支持國際化,你看鄉村愛情都推國際化了,咱也不能掉隊是不,接軌國際,面向將來….linux
回到正題,如何在本身的服務器上搭建屬於本身的Easy-Mock呢?可能不少小夥伴開始絮叨了Easy-Mock 官網用它的不就完事了,白嫖他不香麼~爲啥我還要本身搭建,看看Easy-Mock的GitHub和貼吧你就明白了,這個網站常常性莫名其妙的掛,能正常使用都是拼人品…nginx
好消息是官方早就開源了源代碼,壞消息是,你得本身搭建,雖然叫Easy-Mock
,可是它搭起來一點都不咋Easy
呀,畢竟程序員最喜歡的是開箱即用的快感,可是,騷年,且慢,搭建Easy-Mock仍是有點門檻的,可是,不要慫,不要慫,不要慫,我來手把手教你,教不會,你打我..git
1.一臺服務器(話說最近掘金上不少賣服務器的垃圾廣告,可被搞慘了..哈哈哈,推薦你們到阿里雲官網合法途徑購買哈~) 程序員
2.域名(我的以爲無關緊要,由於須要域名備案,比較麻煩)github
3.跟着這篇教程一步一步走web
暫時沒有服務器能夠看這篇本地搭建Easy-Mockredis
ssh root@你的服務器地址sql
當你看到下面這張圖,恭喜你,鏈接服務器成功,阿里BABA的懷抱向你敞開~~mongodb
檢查本身服務器的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版本
複製代碼
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 & (放到後臺執行)
複製代碼
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 &
若是沒有 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...
複製代碼
好了各位,以上就是這篇文章的所有內容了,洋洋灑灑一千多字,純手工,手把手教學,很是感謝掘友們能看到這裏,若是這篇文章寫得有點東西,以爲「James」我有那麼兩下子的話,
來個贊
👍來個評論
,我都會很是很是的開心噠,創做艱辛,開源不易,有各位的支持和承認,就是我持續輸出的最大動力,君子敬而無失,與人恭而有禮,四海以內,皆兄弟也,能夠掃描下方二維碼與我交朋友!
James | 文 【原創】
🎉開源電商項目:ddBuy
最後我在參掘金的年度徵文:若是讀完文章能有那麼一丁點的啓發的話,幫忙點個贊哈!
若是本篇博客有任何錯誤,請批評指教,不勝感激 !咱們下篇再見Thanks♪(・ω・)ノ