從零開(kāi)始的在Centos上搭建easy-mock服務(wù)

聲明

由于文章比較久遠(yuǎn)了裤唠,當(dāng)時(shí)安裝的easy-mock版本大概是V1.2.3的洽糟,可能跟現(xiàn)在easymock版本相差比較多了蔓榄,大家看的時(shí)候可以關(guān)注一下坑點(diǎn),但是安裝步驟還是參考官方文檔比較好他嚷。官方文檔傳送門(mén)

1. 安裝nodejs

在root用戶下運(yùn)行

# Run as root on RHEL, CentOS or Fedora:
# 在root用戶下運(yùn)行一下兩句命令
curl -sL https://rpm.nodesource.com/setup | bash -

yum install -y nodejs

發(fā)現(xiàn) install nodejs提示

Error: Package: 1:nodejs-6.11.1-1.el7.x86_64 (eles-epel)
Requires: http-parser >= 2.7.0
查了下是epel的問(wèn)題蹋绽,于是運(yùn)行

 yum install epel-release

發(fā)現(xiàn)還是報(bào)錯(cuò),百度說(shuō)需要更新python版本(后來(lái)發(fā)現(xiàn)不是python的問(wèn)題)

# 將舊版本的python保留下來(lái)
mv /usr/bin/python /usr/bin/python2.7.5
# 安裝依賴組件
 sudo yum -y install gcc make gcc-c++ openssl-devel wget

# 下載python
cd /usr/local/src
wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz

./configure --prefix=/usr/local/python27

make

make install

ln -s /usr/local/python27/bin/python2.7  /usr/bin/python

安裝好python后筋蓖,發(fā)現(xiàn)運(yùn)行yum install提示yum模塊不存在卸耘,按照百度到的方法修改yum的運(yùn)行腳本即可(如果不更新python,就不需要這個(gè)操作)

# root權(quán)限下
cd /usr/bin
vi yum
# 將第一句改為指向舊版本的python粘咖,保存即可
#!/usr/bin/python  >> #!/usr/bin/python2.7.5

結(jié)果鬧騰了一圈發(fā)現(xiàn)回到原地仍然有這個(gè)報(bào)錯(cuò):

Error: Package: 1:nodejs-6.11.1-1.el7.x86_64 (epel)
Requires: libhttp_parser.so.2()(64bit)
Error: Package: 1:nodejs-6.11.1-1.el7.x86_64 (epel)
Requires: http-parser >= 2.7.0

好吧原來(lái)是要安裝http-parser鹊奖,不是很懂這些依賴,直接按照網(wǎng)上的方法來(lái)

sudo rpm -ivh https://kojipkgs.fedoraproject.org//packages/http-parser/2.7.1/3.el7/x86_64/http-parser-2.7.1-3.el7.x86_64.rpm

繼續(xù)安裝又報(bào)錯(cuò)

Total download size: 7.1 M
Installed size: 26 M
Downloading packages:
Traceback (most recent call last):
File "/usr/libexec/urlgrabber-ext-down", line 22, in <module>
from urlgrabber.grabber import
ImportError: No module named urlgrabber.grabber
Traceback (most recent call last):
File "/usr/libexec/urlgrabber-ext-down", line 22, in <module>
from urlgrabber.grabber import
ImportError: No module named urlgrabber.grabber
Traceback (most recent call last):
File "/usr/libexec/urlgrabber-ext-down", line 22, in <module>
from urlgrabber.grabber import
ImportError: No module named urlgrabber.grabber

百度了一下說(shuō)要,vi /usr/libexec/urlgrabber-ext-down
把頭部的python改成和/usr/bin/yum中一樣的(如果不更新python涂炎,就不需要這個(gè)操作)

vi /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python  >> #!/usr/bin/python2.7.5

最后終于安裝好nodejs了

2. 安裝mongodb,并配置數(shù)據(jù)庫(kù)

# 獲取mongodb
touch /etc/yum.repos.d/mongodb-org-3.4.repo
vi /etc/yum.repos.d/mongodb-org-3.4.repo

# 在mongodb-org-3.4.repo寫(xiě)入
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

# 用yum命令安裝
sudo yum install -y mongodb-org

# 新建數(shù)據(jù)庫(kù)儲(chǔ)存文件夾
mkdir /data/db

# 啟動(dòng)mongod 
mongod

# 新建數(shù)據(jù)庫(kù)easymockdb
mongo #進(jìn)入數(shù)據(jù)庫(kù)
> use easymockdb  #新建數(shù)據(jù)庫(kù)

# 保持?jǐn)?shù)據(jù)庫(kù)運(yùn)行
mkdir /data/logs
mkdir /data/logs/mongodb
mkdir /data/logs/mongodb/logs
mongod --fork --logpath=/data/logs/mongodb/logs/mogondb.log

出現(xiàn)以下信息就ok

about to fork child process, waiting until server is ready for connections.
forked process: 5500
child process started successfully, parent exiting

3. 部署項(xiàng)目

  1. 下載項(xiàng)目
# 直接去github上git clone
git clone https://github.com/easy-mock/easy-mock.git

# 如果github連不上设哗,就直接下載下來(lái)放到某個(gè)文件夾下解壓
# 然后npm install唱捣,如果github連不上,就去已經(jīng)搭好的電腦拿node_module放過(guò)來(lái)再install
npm install
  1. 修改配置&build
cd  /usr/share/easy-mock-dev
cp config/default.json config/local.json
vi config/local.json  
db  ==>  mongodb://localhost:27017/easymockdb
jwt.secret  ==>  easy-mock-jwt-secret
APIPrefix  ==>  http://192.168.22.217:7300/api     
改好了之后就跑起
sudo npm run build
sudo npm run dev

這時(shí)出現(xiàn)下面信息就是跑起來(lái)了

DONE Compiled successfully in 476ms

5. 調(diào)試

跑起來(lái)后訪問(wèn) http://192.168.22.217:7300/ 應(yīng)當(dāng)成功打開(kāi)界面
但是此時(shí)卻報(bào)錯(cuò)了

{"name":"easy-mock","hostname":"eles","pid":5546,"req_id":"5758ea3a-1a70-437a-ab4c-2f370f939bbd","level":50,"msg":"TypeError: Cannot read property 'data' of undefined\n at server-bundle.js:1782:16\n at process._tickCallback (internal/process/next_tick.js:109:7)","time":"2017-09-22T12:45:38.261Z","v":0}
(node:5546) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: connect ETIMEDOUT 193.168.22.217:7300

眼瞎瞎配置文件寫(xiě)錯(cuò)了ip地址网梢,去項(xiàng)目地址/config/local.json改過(guò)來(lái)即可

6. 持續(xù)運(yùn)行

使用PM2來(lái)保證項(xiàng)目的持續(xù)運(yùn)行

sudo npm i -g pm2

sudo sudo NODE_ENV=dev pm2 start app.js

出現(xiàn)下列內(nèi)容和表格則為運(yùn)行成功

[PM2] Starting /usr/share/easy-mock-dev/app.js in fork_mode (1 instance)
[PM2] Done.

App name id mode pid status restart uptime cpu mem user watching
app 0 fork 8138 online 0 0s 0% 6.0MB root disabled

感想

由于跟nodejs不是很熟震缭,所以出現(xiàn)錯(cuò)誤也知道怎么調(diào)試,并且定位問(wèn)題經(jīng)常沒(méi)有定位正確战虏,所以走了好多彎路拣宰,但還是想把整個(gè)過(guò)程寫(xiě)下來(lái)向大家分享,萬(wàn)一也有別的小傻瓜跟我一樣踩錯(cuò)坑了呢烦感?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末巡社,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子手趣,更是在濱河造成了極大的恐慌晌该,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绿渣,死亡現(xiàn)場(chǎng)離奇詭異朝群,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)中符,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)姜胖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人淀散,你說(shuō)我怎么就攤上這事右莱⊙料牵” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵隧出,是天一觀的道長(zhǎng)踏志。 經(jīng)常有香客問(wèn)我,道長(zhǎng)胀瞪,這世上最難降的妖魔是什么针余? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮凄诞,結(jié)果婚禮上圆雁,老公的妹妹穿的比我還像新娘。我一直安慰自己帆谍,他們只是感情好伪朽,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著汛蝙,像睡著了一般烈涮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上窖剑,一...
    開(kāi)封第一講書(shū)人閱讀 51,198評(píng)論 1 299
  • 那天坚洽,我揣著相機(jī)與錄音,去河邊找鬼西土。 笑死讶舰,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的需了。 我是一名探鬼主播跳昼,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼肋乍!你這毒婦竟也來(lái)了鹅颊?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤墓造,失蹤者是張志新(化名)和其女友劉穎挪略,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體滔岳,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡杠娱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谱煤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片摊求。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖刘离,靈堂內(nèi)的尸體忽然破棺而出室叉,到底是詐尸還是另有隱情睹栖,我是刑警寧澤,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布茧痕,位于F島的核電站野来,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏踪旷。R本人自食惡果不足惜曼氛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望令野。 院中可真熱鬧舀患,春花似錦、人聲如沸气破。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)现使。三九已至低匙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間碳锈,已是汗流浹背努咐。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留殴胧,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓脑融,卻偏偏與公主長(zhǎng)得像届囚,于是被迫代替她去往敵國(guó)和親鸳碧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容