2011-06-20 244 views
2

Hopfully這個問題還沒有問過,但我已經搜查,沒有發現任何SLONG線,因爲這...EC2共享WWW文件夾

首先,我的問題:我在後面跟着跑2 EC2 Linux實例一個彈性負載Balencer。它的工作很好!非常滿意。

我的問題開始於在服務器上放置/更新應用程序代碼。此刻,我是litrally,修改我的本地機器上的代碼。將其上傳到我的個人主機,然後Wget到每個ec2實例並解壓縮。

有沒有更簡單的方法來做到這一點?我能夠創建一種跨越兩個實例的共享文件夾嗎?

簡而言之:在2臺服務器上更新我的WWW根目錄的簡單方法是什麼?

很多謝謝,

湯姆。

回答

0

使用工具(如Puppet)來維護您的服務器配置。

+0

Im稍有困惑仍然..維持我的服務器配置的解決方案只會提供一種設置WWW根的方法嗎? (所以我可以設置它,但我在哪裏設置它?「 我是否創建某種類型的EBS並在兩臺服務器之間共享? 似乎無法在此找到任何帖子..大公司如何跨所有Web服務器複製應用程序代碼? 湯姆。 – tornup

+0

他們把他們的數據和配置放在Puppet master上,讓Puppet處理它。 –

4

的解決這個問題是使用continuous integration可與rsync傳送文件和建立在服務器上該項目的一個方式,這是不是現在。

有相當一堆可用的插件(PHPUnit的,代碼覆蓋率,代碼分析等):

Jenkins

如何:

  1. Install Jenkins
  2. 配置項目(可能你的代碼應該在某些代碼版本系統中)與Jenkins
    1. 配置服務器,項目路徑,作業前,作業等
  3. 安排工作/作業。
  4. 就是這樣,完成了。

參考:

  1. 配置:
    1. configuring - ex.1
    2. Initial configuration
      1. Configuring the jobs
  2. http://agile.dzone.com/news/continuous-integration-php

2.你需要一個代碼版本控制,它可以幫助你保持一個穩定的代碼&讓他們在各種環境中同樣提供。

主要有兩大版本系統中可用一個是Git & Subversion

可以做些什麼(您的具體情況):

  1. 創建一個存儲庫
  2. 在倉庫裏創建一個項目
  3. 將所有代碼轉儲到此項目中svn add <files> & svn commit .
  4. 登錄到您的EC2機器。
  5. 運行svn checkout <repository-url-to-project>它將獲取機器上的代碼。

,如果你有更新/更改任何文件,則:

  1. 你可能會犯(添加)一些資料庫修改。
  2. 在機器中運行svn update <modified-or-newly-created-file-path>,您將代碼從存儲庫中檢出。

在任何其他EC2計算機上執行這些步驟。

的cheatsheet

GIT - http://help.github.com/git-cheat-sheets/ SVN - http://www.abbeyworkshop.com/howto/misc/svn01/

0
@tornup 

這是一個比較可行的解決方案。如果你不熟悉JenkinsPuppet你可以這樣做以下:

bitbucket.com並啓動庫

創建一個存儲庫有

推動當地的源代碼,該倉庫與sourcetree

來自您的機器,做一個git pull(跟隨到位桶指令)

後,修改本地代碼,請多次提交,以測試它

然後到你的服務器和問題混帳拉都

........................................ bitbucket.repo/your main source 
...........local...server1.server2 share the same source as bitbucket repo 

從本地推到位桶回購

一旦你從這個設置畢業,嘗試puppetjenkins* - 傀儡更多是站在服務器。