如何管理多個相似的 Apache 設定?

如何管理多個相似的 Apache 設定?

現在,我正在使用 Mercurial 在生產伺服器和開發伺服器之間同步類似的 Apache 配置。其頂部的補丁隊列添加了開發伺服器所需的變更和額外內容。

該計劃有效,但可以更好。從部署配置中提取變更後重新套用修補程式佇列時,我總是會遇到合併衝突。我覺得我總是對單獨的 http:// 和 https:// 設定檔進行相同的更改。

我應該如何找出 :80 和 :443 Apache 配置之間的相同位,並更乾淨地將“額外位”添加到開發配置中?

答案1

您可能需要考慮使用包括Apache 設定係統的功能。然後將特定於單一電腦的配置元素分離到_local.conf這應該會使合併更簡單

答案2

Apache 可以選擇選擇性地啟用某些設定。這使您可以使用相同的配置文件進行開發和生產。使用 -DDEVELOPMENT 或 -DPROD 啟動 apache,您可以使用標籤進行特定於開發伺服器的設定。這樣你就不會遇到任何合併衝突(當然,除非你在合併之前更改了 dev/prod 設定檔)

答案3

這可能是老式的,但我的階段和生產 apache 配置是相同的,只是每個配置中的一些參數不同(即:IP 位址)。我在啟動腳本周圍使用了 perl 包裝器,以有條不紊的方式「填補空白」。實際的基本配置“模板”確實是相同的。

這確保了階段 apache 在功能上與生產 apache 相同。

與開發人員共享此生產配置使他們能夠根據需要進行盡可能接近生產的測試(他們也願意這樣做,因為除非他們的東西在階段“工作”,否則他們不會進入生產。我們偶爾提供幫助(例如,對於mod_rewrite 規則)剩下的就交給開發商了。

這個特定的設置和我工作過的其他地方之間的區別是:

鼓勵開發人員涉足與他們所從事的程式不直接相關的領域...即:他們可能從事後端應用程式(因此不需要對 apache 了解太多),但他們配置了自己的 apache 伺服器(事實上,他們建立了自己的桌面,但這是越界了(IMnsHO)。

營運實際上驅動了許多基礎設施,而不僅僅是運行它。

相關內容