2017-07-27 324 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

我肯定会隔离每个应用程序。

为什么?

如果它们不依赖于对方的所有,在一个应用程序进行更改会影响仅仅是因为他们在同一个环境中运行其他的,你不希望所有的人遇到的问题都立刻。