2011-01-13 92 views
0

我幾乎完成了我們的定製CMS系統。現在我們希望爲不同的網站(以及更多的未來)安裝此功能,但每次更改核心文件時,都需要分別更新每個服務器/網站。從多個服務器中的一個服務器加載CMS核心文件

我真正想要從我們的服務器加載核心文件,所以如果我安裝CMS,我只定義nedded配置文件(在該服務器上),其餘的從我們的服務器加載。通過這種方式,我可以通過核心中的更改非常簡單,只有一次。

如何做到這一點,或者這是一個完全錯誤的方式?如果是這樣,什麼是正確的方式?我需要注意什麼?它是否安全(無需爲https連接支付數千美元)?

我完全不知道如何開始或開始,並找不到任何有用的東西(可能是錯誤的搜索),所以一切都很有幫助!

提前致謝!

注:我的應用程序是建立一個使用Zend框架

+0

一旦您決定使用某個部署工具(Phing之類)或者至少'svn up'而不是手動複製所有文件,單獨更新每個服務器似乎並不是一個很大的開銷;) – Vika 2011-01-13 15:48:09

回答

1

您無法從遠程加載運行時所需的文件(或者真的不希望)。這個問題歸結爲適當的版本&配置管理,您更新所有的服務器。但這主要是自動完成的。
根據你想花多少時間在這個機制上有一些事情你必須注意。一般的想法是,你有一箇中央服務器,其中包含版本,並讓所有其他服務器檢查是否需要更新,下載並安裝它們。有許多可能性,如svn,檔案,...和檢查/更新可以在前端手動完成,也可以在後臺通過crons完成。通常你會更新除配置文件和數據庫之外的所有更改的文件,因爲它們不能被替換,但必須以某種方式修改(這是更新腳本到位的地方)。

這可能是這樣的:

  • 的cronjob是通過svn
  • 檢查更新的服務器上運行。如果有新的版本,它會做一個svn更新

這是一個很容易實現的mechansim,它存在一些缺點,比如你不能更改配置文件和數據庫。事實上,這將是可能的,但很難實現。
也許這可能是一個基於歸檔解決方案更容易:

  • 的cronjob檢查updateserver一個新的版本。這可以通過閱讀上的更新服務器上的文件的內容並把它比作一個本地副本
  • 如果有新的版本來完成,下載相關的檔案
  • 解壓存檔,並複製文件

通過這種方法,您可以將更新腳本包含到更新中以修改配置/數據庫。

自動更新分配是一個非常複雜的主題,只有兩個非常簡單的方法。可能有很多不同的解決方案,選擇正確的解決方案並不是一件容易的事情(如果你的產品具有不同的版本,依賴關係,它甚至會變得更加複雜),並且沒有「這是它的方式必須完成「。

+0

Oke,這聽起來也是一個很好的選擇。有沒有人知道一些關於SVN的好文章/教程,以及如何構建一個系統/機制來完成這樣的事情。 – 2011-01-13 17:23:37

相關問題