用 mup 部署 meteor app 到阿里云 ECS 上怎么填寫配置文件 mup.js ?

本文主要是介紹用 mup 部署 meteor app 到云端服務(wù)器的過程已經(jīng)如何配置 mup.js。像國外Galaxy,Modulus 和 Heroku 這種高級(jí)自動(dòng)化的 PaaS 云部署平臺(tái)在國內(nèi)都無法正常訪問。目前國內(nèi)又沒有同類產(chǎn)品,所以只能自己手動(dòng)買服務(wù)器部署。還好 mup 工具極大的簡化了這個(gè)過程,它會(huì)把服務(wù)器和 MongoDB 數(shù)據(jù)庫分別以兩個(gè)分開的 docker container 形式部署,非常高效。而且整個(gè)過程只用執(zhí)行 mup setup 和 mup deploy 兩個(gè)命令就夠了(國外網(wǎng)絡(luò)暢通的情況下)。

原文可見我在知乎上的自問自答,這里做一下重述。

我用的是阿里云ECS上1核2G的Ubuntu 14.04 64位服務(wù)器。我的 Meteor 版本是1.4.2.1,React 做前端。由于服務(wù)器在國內(nèi),頗經(jīng)歷了一些波折,才部署成功,以下是我的流程。

我一開始的 mup.js 配置文件是這樣的:

剛執(zhí)行 mup setup 等了一會(huì)兒,就遇到的第一個(gè)問題,下載docker太慢報(bào)錯(cuò):

解決方案是直接通過阿里云連接進(jìn)入主機(jī),手動(dòng)執(zhí)行 apt-get install -y -q docker-engine (錯(cuò)誤信息中有提示),手動(dòng)進(jìn)去安裝的速度還挺快,安裝好再執(zhí)行 mup setup 成功:

緊接著執(zhí)行 mup deploy,遇到第二個(gè)錯(cuò)誤,裝不了npm:

繼續(xù)遠(yuǎn)程進(jìn)入主機(jī),手動(dòng)執(zhí)行 apt-get install npm,又安裝成功:

之后再執(zhí)行 mup deploy,遇到第三個(gè)錯(cuò)誤,AssertionError: "undefined" === "function":

查了一下發(fā)現(xiàn)Github([meteor 1.4] AssertionError: "undefined" === "function" · Issue #1091 · arunoda/meteor-up · GitHub)上很多人有同樣的問題,是 mup 支持 meteor 1.4 需要 docker image 用 abernix/meteord:base 格式,所以只要把 mup.js 里面相關(guān)的字段改掉就好:

再來一次 mup deploy,這個(gè)錯(cuò)過去了,但是新錯(cuò)又出現(xiàn)了!

mup 驗(yàn)證部署的時(shí)候 curl 服務(wù)器沒有響應(yīng),它認(rèn)為是部署失敗了,檢查 mup logs 發(fā)現(xiàn)原來配置文件里的 ROOT_URL: 'oneshot.io'?格式錯(cuò)誤,需要加上http或者h(yuǎn)ttps,但 mup 默認(rèn)的可沒有加??!但是改成 ROOT_URL: 'http://oneshot.io'?終于可以了!以下是我最終的 mup.js 配置文件內(nèi)容。

之后其實(shí)又 mup deploy 又報(bào)了一個(gè) curl 沒響應(yīng)的錯(cuò),但這可能是因?yàn)樗J(rèn)60秒以后檢測(cè)部署,但這個(gè)時(shí)候服務(wù)器還沒有準(zhǔn)備好。因?yàn)槲矣挚戳艘幌?mup logs,剛才的 ROOT_URL 錯(cuò)誤已經(jīng)消失。再打開瀏覽器,app已經(jīng)部署上去了!

希望本篇對(duì)后來者有所幫助!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 使用該方式需要有基本的 Linux 知識(shí)這里介紹的部署方法都是手動(dòng),可以幫助理解 Meteor App 在生產(chǎn)環(huán)境...
    25b2fc874e9c閱讀 1,578評(píng)論 0 6
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評(píng)論 19 139
  • 在Meteor開發(fā)者群里發(fā)現(xiàn)很多人在問如何部署Meteor項(xiàng)目,我自己也在部署Meteor項(xiàng)目時(shí)遇到了很多問題,所...
    romejiang閱讀 3,083評(píng)論 9 10
  • I set up 100's iphones a week. SWEET LORD THATS 4200 scre...
    劉英滕閱讀 2,288評(píng)論 4 58
  • 簾十里著。 文筆還行。挺細(xì)膩的糙漢文。近幾年大熱的題材。 只是不喜歡,以凄苦身世作為主線和賣點(diǎn)。
    路茗閱讀 2,490評(píng)論 0 0

友情鏈接更多精彩內(nèi)容