分配3 VPS之间的所有服务

我只租了3个VPS服务器:
4GB内存
150GB硬盘
2个CPU
6个IP地址

所以我们有vps1,vps2和vps3,我在想
分配这样的服务:
VPS1 – 前端
+ DNS服务器
+ MySql服务器
+ NFS(在vps2和vps3之间共享文件)

VPS2,VPS3 – 应用服务器
+ PHP
+ Apache
+ Lighhttpd(静态文件)
+ Postfix
+鸽子

vps1具有应用程序,php文件,js文件,css文件,html文件等的所有文件,VPS2和VPS3通过networking安装该文件。

vps1收到来自互联网的请求,在端口(80,110,25)将请求传递给VPS2或VPS3(如果需要的话)可以连接到VPS1中的mysql服务器

VPS1安装HAProxy是否是一个好主意,用于平衡VPS2和VPS3上的负载?
任何人都可以build议我一个更好的设置,提示或想法?

谢谢

我们使用haproxy来平衡负载。

你有几个明显的失败点

1)如果vps1发生故障,haproxy和您的所有networking挂断。 和MySQL中断…

更好的设置将是:

  1. 在所有服务器上运行keepalived并在三者之间共享虚拟IP
  2. 在所有服务器上运行haproxy并让它监听虚拟IP
  3. 运行mysql-cluster(所有服务器上的数据/存储节点/ vps1上的pipe理)
  4. 使用rsync或类似于所有服务器跳过NFS和镜像文件。
  5. 每个服务器都可以运行posftfix

我没有dovecot的经验(其实我只有不好..),但我相信它应该在虚拟ip和haproxy后面工作。

使用此设置,您可以丢失任何1台服务器并保持所有服务。

如果你输了2,那么mysql-cluster会变得烦躁,但是其他的东西都会起作用。

大多数VPS提供商还提供负载平衡,SSL卸载和DNS作为服务。 除非您的需求是特殊的,否则您最好先尝试使用他们的服务,用本土解决scheme替代它们只会使事情复杂化。

出站电子邮件是一个简单的服务,可以安装在所有的实例,如lVlint67所述。

这就留下了webapp,dovecot和mysql在幕后摔angular。 当然你的需求可能需要dynamic修改DNS,dovecot和smtp,所以YMMV。