2014-03-12 54 views
1

我正試圖在AWS Elastic Beanstalk上部署Flask應用程序。我需要在特定的基礎上運行自定義Python腳本。我以前使用的Heroku和那裏,我需要做的是發出以下命令使用Heroku的工具區:在AWS Elastic Beanstalk上運行ad-hoc腳本

Heroku的運行doStuff

其中doStuff是我的Python模塊的名稱。

是否可以使用AWS Elastic Beanstalk中的eb工具來實現這一點?

或者我假設我必須通過SSH進入應用程序運行的EC2實例,並直接在那裏運行命令。如果是這種情況,EC2實例上的哪個位置可以找到我的應用程序的文件?

謝謝

回答

1

看起來你將不得不SSH和運行你的腳本。 您可以在這裏找到您部署的應用程序版本:/ opt/python/current

另一個選擇是在燒瓶應用程序中將一個自定義(以及可能是祕密的)URL映射到此目錄。當你點擊URL時,執行所需的命令。

如果在另一方面,在應用程序部署/重新啓動服務器所需的腳本,你可以使用.ebextensions:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#customize-containers-format-commands

在這裏,您可以運行的應用程序代碼之前要運行安裝各種動作。

+0

謝謝索尼。我也有的問題是我無法使用需求文件安裝Scipy和Numpy。我的想法是SSH進入EC2實例並使用yum命令進行安裝。不過,看起來我的Flask應用程序正在EC2上的虛擬環境中運行。我現在安裝了Scipy,但我的Flask應用程序可以找到它。你知道如何在虛擬環境中使用yum命令來安裝Scipy(和其他軟件包)嗎? – Johan

+0

@Johan,你可以通過.ebextensions來做到這一點。在這裏,您可以在應用程序/服務器啓動時運行任何命令。你可以在這裏使用yum命令並安裝你需要的任何東西。 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#customize-containers-format-commands –

相關問題