2013-10-29 216 views
3

我遇到了問題在Webfaction上安裝Meteor並設置站點和應用程序,因爲我沒有詳細說明如何實現此目的,並且Webfaction支持也未提供詳細的支持。在Webfaction上安裝流星

第一個問題:

如何共享主機沒有root權限上Webfaction安裝流星?

第2期:

如何設置應用程序和配置端口和運行在後臺的應用服務器。

第3期: 我需要設置MongoDB,因爲流星有它自己的MongoDB版本嗎?

回答

4

經過一番努力,我成功地在Webfaction上部署了一個Meteor 0.6.6.3應用程序,下面是這個過程。

基本上你需要使用Demteorizer到流星的應用程序轉換成的Node.js應用程序來運行它,你需要安裝一個MongoDB實例或者您的webfaction服務器或類似MongoHQ/MongoLab,流星的一個DB託管服務上在這種情況下,不能使用自己的MongoDB。

的Webfaction服務器上安裝這些東西:

  1. Node.jsnpm
  2. Forever(使用NPM)
  3. MongoDB

部署的應用:

  1. 在Webfaction管理控制檯中添加兩個custome應用程序,一個用於MongoDB,另一個用於您的應用程序,沿應用程序偵聽的兩個端口向下節點。我們稱他們爲MONGO_PORT和APP_PORT。您還需要擁有一個域名並將custome應用附加到該域名的網站。

  2. 在本地安裝Demeteorizer並按照其指示將您的應用程序轉換爲Node.js,然後將轉換後的應用程序上傳到webfaction服務器。您可以使用ftp或安裝git存儲庫來簡化上載過程。

  3. 上Webfaction啓動您的MongoDB實例,在守護進程模式使用此命令在你的ssh shell中運行它:根據Demeteorizer說明

    mongod --fork --logpath ~/tmp/mongodb.log --dbpath ~/.data/db --port [MONGO_PORT] 
    
  4. 設置你的環境變量,在我的經驗,需要所有這三個對於該應用在Webfaction正常工作:

    export MONGO_URL="mongodb://localhost:[MONGO_PORT]/[DB_NAME]?autoReconnect=true" 
    export PORT="[APP_PORT]" 
    export ROOT_URL="http://[YOUR_DOMAIN]" 
    
  5. 導航到webfaction您的應用程序的文件夾,並用永遠在後臺運行它:

    forever start main.js 
    
  6. 完成後,應用程序應該正在運行。

+0

謝謝,我將嘗試一下...對不起,開始也在苦苦掙扎。 – Hamza

1

這是一個老的文章,但因爲我最近的工作通過如何得到這個從開始工作的我自己來完成我認爲值得分享... 以下github上要旨是一個Python腳本,應該是自我-explanatory:

https://gist.github.com/mogga/1d038a31e5d998bbcf37

請提交pull請求,如果你能改進它。

+0

謝謝,這是一箇舊帖子是的,但答案會幫助其他人。我測試了Modulus,這很好,但我相信我需要Webfaction來運行一些應用程序。 – Hamza

1

我知道這是一個古老的問題,但這是我掙扎了很多,這就是爲什麼我想貢獻。因此,當我將一個Meteor 1.3應用程序部署到WebFaction共享主機服務時,以下是我遵循的步驟。你應該熟悉諸如命令行和ssh之類的東西。但如果你是流星開發者,我想這不是問題。

TL; DR:如果你正在尋找一個節省時間的選擇,我創建了遵循以下步驟NPM包:meteorfaction

  1. 獲取一個MongoDB的URL。我使用並推薦mlab.com。 請注意。如果你使用mlab,它應該是類似mongodb://user:[email protected]:11122/something

  2. Webfaction Panel上創建一個節點0.10.43應用程序。我選擇此版本的原因是因爲Meteor文檔指出這是已部署應用程序的最新兼容版本。 注意這個應用程序的端口號。它應該與面板中的應用程序信息一起顯示。不要忘記爲該應用程序創建一個網站。

  3. 在您的本地機器上,在您的應用程序文件夾中,運行以下命令:meteor build ./build --architecture os.linux.x86_64。這一步應該在構建文件夾

  4. 上傳這個.tar.gz文件到您的webfaction應用程序文件夾中創建一個app_name.tar.gz文件。您可以使用FTP來做到這一點,或者您可以在本地應用程序文件夾中運行以下命令:scp build/app_name.tar.gz [email protected]:/home/webfaction_username/webapps/app_name/app_name.tar.gz

觀測數據:webXXX.webfaction.com是你webfaction服務器地址。 webfaction_username令人驚訝地足以說明你是主要的webfaction用戶名。

  1. 提取剛剛上傳的.tar.gz文件。對於這一步,您需要SSH訪問。運行以下命令:ssh [email protected]。然後通過運行cd webapps/app_name進入您的應用程序目錄。一旦你在那裏,你可以通過運行ls來檢查.tar.gz文件是否在那裏。如果一切正常,請運行tar -zxvf app_name.tar.gz

  2. 第5步將在您的webfaction應用程序目錄中創建一個文件夾。這是你的Meteor應用程序的地方。運行以下命令:cd bundle/programs/server然後npm install。這將安裝應用程序依賴項。

  3. 返回到您的Webfaction應用文件夾。我們將使用export命令向環境中添加一些變量。運行:export MONGO_URL=mongodb://user:[email protected]:11122/something。然後export ROOT_URL=yourwebsite.com,最後是export PORT=PORT_NUM

觀測數據:MONGO_URL是你從MLAB了或什麼服務,你選擇(步驟1)的URL。 ROOT_URL只是您的網站地址。 PORT是您的webfaction應用程序的端口號(步驟2)

  • 運行cd bin然後vim start。您只需打開開始文件進行編輯。尋找這樣的東西:nohup /home/webfaction_user/webapps/app_name/bin/node /home/webfaction_user/webapps/app_name/hello-world.js。使用箭頭將光標發送到該行,然後按鍵盤上的鍵開始編輯。只需將hello-world.js更改爲bundle/main.js,然後按Esc。最後,通過輸入保存並退出:wq並按輸入

  • 現在,仍在該目錄中,運行以下命令:./stop,然後./start

  • 如果一切正常,您應該能夠看到您的應用程序正在運行。如果您看到502錯誤網關,請轉到您的應用程序文件夾並運行node bundle/main.js。這應該給你一個錯誤的提示。

  • 0

    我使用Brunno但與流星1.4一些細微的差別,讓它運行的答案:

    • 創建一個Node.js的6.10.3應用程序,而不是節點0.10.43
    • running npm install後我跑:meteor npm install --save bcrypt
    • export步驟使用完整的URL上ROOT_URL像:ROOT_URL="http://hostname.domain"