阿帕奇和 Nginx。 由一條鏈條連接(第 2 部分)

上週在 第一部分 在本文中,我們描述了 Timeweb 中的 Apache 和 Nginx 組合是如何建構的。 我們非常感謝讀者的提問和積極討論! 今天我們告訴您如何實現一台伺服器上多個版本的 PHP 的可用性以及為什麼我們保證客戶的資料安全。

阿帕奇和 Nginx。 由一條鏈條連接(第 2 部分)
共享主機 (共享託管)假設許多客戶帳戶託管在一台伺服器上。 通常,一個客戶的帳戶包含多個網站。 網站可在現成的 CMS(例如 Bitrix)和自訂 CMS 上運作。 因此,所有系統的技術要求是不同的,因此必須在同一伺服器內管理多個版本的PHP。

我們使用 Nginx 作為主要 Web 伺服器:它接受來自外部的所有連接並提供靜態內容。 我們將剩餘的請求進一步代理到 Apache Web 伺服器。 這就是神奇的開始:每個版本的 PHP 都會執行一個單獨的 Apache 實例,該實例會偵聽特定連接埠。 該連接埠已在客戶端站點的虛擬主機中註冊。

您可以閱讀有關共享方案操作的更多信息 文章的第一部分.

阿帕奇和 Nginx。 由一條鏈條連接(第 2 部分)
共享方案

要注意的是,我們安裝不同版本的 PHP 套件,因為通常所有發行版都只有一個版本的 PHP。

安全第一!

共享主機的主要任務之一是確保客戶端資料的安全。 不同的帳戶,位於同一台伺服器上,是獨立且獨立的。 怎麼運作的?

網站檔案儲存在使用者自己的主目錄中,所需的路徑在Web伺服器的虛擬主機中指定。 重要的是,Web 伺服器(Nginx 和 Apache)能夠存取特定客戶端的最終文件,因為 Web 伺服器僅由一個使用者啟動。

Nginx 使用了 Timeweb 團隊開發的安全性修補程式:該修補程式將使用者變更為 Web 伺服器設定檔中指定的使用者。

對於其他託管提供者來說,可以透過例如操作擴充檔案系統權限 (ACL) 來解決此問題。

Apache 使用多處理模組來運行 mpm-itk。 它允許每個 VirtualHost 使用自己的使用者 ID 和群組 ID 運行。
阿帕奇和 Nginx。 由一條鏈條連接(第 2 部分)
因此,透過上述操作,我們為每個客戶端獲得了一個安全、隔離的環境。 同時,我們也解決共享託管的擴充問題。

Apache和Nginx結合是如何實現的可以閱讀 第一部分 我們的文章。 此外,還描述了透過專用方案的替代配置。

如果您對我們的專家有任何疑問,請寫在評論中。 我們將在接下來的文章中嘗試回答所有問題或更詳細地描述問題的解決方案。

來源: www.habr.com

添加評論