Ubuntu

跨多台伺服器的通用 NGINX 配置方案

  • January 4, 2022

我的設置由多個伺服器組成,包括生產、生產故障轉移、開發人員實例等。生產和生產故障轉移伺服器定期交換角色。我希望所有伺服器都有一致的環境。我在 Apache 中通過使用虛擬主機來實現這一點,並根據需要啟用/禁用它們。

我遇到的一個問題是 NGINX 主配置文件具有針對伺服器硬體調整的設置,尤其是events上下文。我目前傾向於events-[subdomain].conf為每個伺服器創建一個文件並創建一個指向它的符號連結,名為events.conf. 我可以僅通過更改符號連結來使用適當的文件。

events {
   include events.conf;
}

這是處理它的好方法嗎?缺點?更好的解決方案?

簡短的回答:是的,但可能有更好的方法。

編輯以下段落中描述的約定現在已棄用,任何其他配置文件都應使用include指令在主配置文件中引用

更長的答案:~在 Nginx 中,每個伺服器或網站通常都定義在一個外部文件中,通常在 nginx 配置目錄的“啟用站點”或“啟用站點”子目錄中 - 我呼叫了我的啟用站點,因為它使更改為使用選項卡完成更快。主 Nginx 配置文件通常包含此目錄中的所有內容。

您可以將所有伺服器的所有配置文件放入此子目錄並同步該目錄,或引用共享位置中的目錄。每個伺服器的 nginx.conf 只能包含該伺服器當時所需的文件。這將很快改變。

但是,自動化是好的。如果您可以定義配置文件,以便它們在該角色的所有伺服器上工作,您就可以避免手動更改,並且在負載均衡器後面可能會更好地工作。nginx.conf 可能不同,但伺服器配置相同。這應該很容易。

引用自:https://serverfault.com/questions/820454