2012-06-14 165 views
3

我想將2個Symfony2項目部署到EC2服務器上。另外我正在考慮使用像scalr.net,ylastic.com或Rightscale這樣的服務來管理我的實例,如果需要的話對其進行擴展並對其進行監控。部署Symfony2與EC2 - 最佳實踐

我的問題基本上是:

1.)你有什麼建議。現在我正在一個專用的Ubuntu服務器上運行整個應用程序,但是我正需要獲得可擴展的功能和速度 - 這實際上是我想要轉移到ec2的主要原因(並且我還有很多S3)。

2.)是否有任何AMI的建議和良好的Symfony2?我看到服務,如https://aws.amazon.com/marketplace給你預先安裝的圖像,但收取你的費用。不知道這是否有好處,因爲我認爲我也可以建立自己的服務器。

3.)如果我使用的是Ec2,最好的做法是將所有Web數據放到ebs捲上並使用amazon數據庫作爲數據庫?

+0

Mossgummi你是對的,對不起, – Mike

回答

2

這裏有一些非常基本的想法,在開始處理一些你可能並不需要的東西之前,你應該仔細考慮一切。

1.)首先你應該看看你的應用程序消耗最多的資源。你需要很多內存,CPU,磁盤I/O嗎?根據您的情況,您可以決定您想要利用的Amazon Web Services。

例如,一個簡單的場景是一個ELB與Auto Scaling組合,後者處理EC2實例,由一個RDS實例提供支持,後者提供專用數據庫。

2.)您可以使用BitNami的預配置LAMP,然後對其進行自定義。之後,創建自己的AMI並將其用於Auto Scaling組(一種非常基本的方法)。另一方面,您可以從一個乾淨的Linux發行版開始,自己設置一切(手動或通過Chef自動完成)。根據您的應用程序將收到多少更新,您應該考慮將其託管在github上,以便您的服務器在啓動時始終提供最新的2日複本。

3.)取決於第1點。)...最簡單的方法肯定是使用RDS,因爲EBS卷的磁盤I/O很差,您必須在Raid 0中運行它們才能獲得磁盤I/O你想讓你的數據庫服務器擁有。

+0

感謝moosgummi爲您的答案。至於#2,你知道如何從github上取得最新的2日複本嗎?對我來說,這聽起來確實很有趣,我將不得不穀歌。我一直認爲,如果你終止你的實例,所有的數據都將丟失 - >這就是爲什麼我想考慮附加一個EBS卷。順便說一句。配置腳本會發生什麼?或者這不適用於重新啓動(反對終止)? – Mike

+1

我剛纔看到它可以通過capifony完成。我必須檢查它。我很感激任何更多的評論。 – Mike

+0

在步驟2中提到的所有內容都可以通過使用Chef來完成。您將有一個Chef-Server將配置推送到Chef-Clients(應用程序服務器),因爲它們被實例化。 – dom