2013-01-15 61 views
0

我目前正在嘗試使用dotcloud在EC2上部署smartfoxserver 2X。我已經能夠檢測到亞馬遜網絡實例的私有IP,並使用dotcloud工具,我已經能夠確定正確的端口。但是,我無法通過命令行安裝服務器,因此我可以使用AdminTool登錄到服務器。Smartfoxserver 2X linux 64通過dotcloud在EC2上運行 - 如何安裝?

我安裝後相當簡單:

./SFS2X/sfs2x-service啓動的launchd

我發現,在「dotcloud推」有我在Cygwin的終端輸出看好了相當數量,但在提示sfs2x-service已正確啓動後,推送會掛起,直到超時。

因此,我的問題是,有沒有人找到一種方法通過dotcloud成功在EC2上安裝SFS2X?我設法在SFS Pro中取得了部分成功,通過在我的postinstall中調用./jre/bin/java -jar installer.jar完全推送到dotcloud。我是否需要做額外的工作併爲SFS2X構建安裝程序jar?有沒有一種方法可以做到這一點?

我明白,在EC2上使用RightScale的SFS2X有一種標準方法,但是我有興趣使用dotcloud平臺進行部署。

在此先感謝。

回答

1

它掛起的原因是因爲您試圖在postinstall中啓動您的進程,並且這不是正確的做法。如果安裝後腳本不會超時,然後取消,則安裝後安裝腳本即可完成。

完成後安裝腳本後,它將完成部署的其餘部分。 http://docs.dotcloud.com/0.9/guides/hooks/#post-install

注重在年底這樣的警告:

約dotCloud後腳本的詳細信息,請參閱此頁。

警告: 如果安裝後腳本返回一個錯誤(非零退出代碼),或者如果它運行超過10分鐘,該平臺將考慮您的構建已經失敗了,您的代碼的新版本將不會部署。

而不是把它放在postinstall腳本中,你應該把它作爲後臺進程來添加,以便在部署過程完成後啓動它。

看到這個頁面的詳細信息,添加後臺進程dotCloud服務:

http://docs.dotcloud.com/0.9/guides/daemons/

TL; DR:你需要創建一個supervisord.conf文件,並將其添加到根你的項目,並添加你的服務。

例(你將需要改變,以適應您的情況):

[program:smartfoxserver] 
command = /home/dotcloud/current/SFS2X/sfs2x-service start-launchd 

此外,還要確保您爲了您的dotcloud.yml指定了正確的dotCloud服務有正確的二進制和爲您的smartfoxserver應用程序安裝的庫。

+0

你也可以在''dotcloud.yml''文件中加入''processes:''部分。我發現它比放下supervisord片段要簡單一些。 – jpetazzo

+0

感謝您的有用信息!我會玩一玩,看看我有沒有進一步的進展。 – user1979000

相關問題