2016-08-20 58 views
-1

我將我的WordPress的農場(10個安裝)移動到碼頭架構, 我想要一個nginx容器並運行10個php-fpm容器(mysql在外部服務器上) PHP的容器被命名爲php_domainname,並且還含有持久性存儲 我想知道如何做到這一點: 一)如何通過域名和容器名稱,以虛擬主機的conffile¿如何鏈接N個PHP容器與1個Nginx容器

b),當我開始一個PHP-FPM容器 1)添加將vhost.conf文件放入nginx confs文件夾中 2)將卷(持久存儲)添加到nginx實例 3)重新啓動nginx實例

所有的nginx的PHP的碼頭工人,我創立的,有每個實例都的過程,但我認爲已經10 + 1 nginx的是超載的機器,並打破泊塢窗優勢 感謝

回答

0

你也可以使用領事或類似的服務自動發現。這意味着:

  • 你領事服務器添加到您的堆棧
  • 註冊您的所有FPM服務器作爲節點
  • 你領事登記每FPM-守護程序作爲服務「FPM」

爲了您的nginx虛擬主機的conf,可以說位於/etc/nginx/conf.d/mywpfarm.conf使用領事模板https://github.com/hashicorp/consul-template以產生一展身手模板中使用

upstream fpm { 
    {{range service "fpm"}} 
    server {{.Name}} {{.Address}}:{{.Port}}; 
    {{end}} 
} 
的配置

當您將基於.php的請求轉發到FPM上游時,您現在使用上面的上游。這樣nginx將通過所有可用的服務器進行負載平衡。如果您關閉了一臺FPM主機,配置會自動更改,並且FPM上游會得到調整(這就是使用的模板,它會監視更改) - 因此您可以隨時添加新的FPM服務並水平放大非常容易