2017-07-27 212 views
0

你認爲是在同一臺機器上運行多個網站最佳實踐,多克爾最佳做法將您爲每個網站/域設置單獨的容器?或者讓一個容器中的所有網站都設置好?管理網站

網站1,網站2,網站3:

  • nginx的
  • phpfpm
  • MySQL的

網站1:

  • nginx_1
  • phpfpm_1
  • mysql_1

網站2:

  • nginx_2
  • phpfpm_2
  • mysql_2

網站3:

  • nginx_3
  • phpfpm_3
  • mysql_3
+0

難道你不能只運行一個單一的nginx反向代理使用'fastcgi_pass'與phpfpm交談嗎? – Grimmy

回答

2

我更喜歡使用單獨的容器爲個人網站,但使用一個Web服務器作爲代理。這使您可以訪問相同主機端口上不同域的所有網站(80/443)。另外你不一定需要運行多個nginx容器。

結構:

  • 代理
    • nginx的(監聽端口80/443)
  • 網站1
    • phpfpm_1
    • mysql_1
  • 網站2
    • phpfpm_2
    • mysql_2
  • ...

您可以使用自動配置代的代理服務,如jwilder/nginx-proxy也打開使用方便的SSL證書處理方式jrcs/letsencrypt-nginx-proxy-companion

代理服務就可以是這樣的:

  • 代理
    • 的nginx(偵聽端口80/443)
    • 泊塢窗根(創建一個基於運行容器Nginx上配置和服務)
    • letsencrypt(根據需要創建SSL證書)
1

好吧,如果他們都沒有關係,我絕對不會把它們放在同一臺機器...

即使你有一個網站與Nginx和MySQL我會把這兩個分開。它只是給你更多的靈活性,這就是Docker的全部。

祝你好運,有樂趣多克!

0

我肯定會隔離每個應用程序。

爲什麼?

如果它們不依賴於對方的所有,在一個應用程序進行更改會影響僅僅是因爲他們在同一個環境中運行其他的,你不希望所有的人遇到的問題都立刻。