之前博客被打了,开了一段时间cloudflare后真撑不住了——卡,太卡了,卡的要命,慢出激情。早就看到阿里云云解析DNS能够按权重比例将请求返回到不同的源站,但还是因为网站文件数据库同步太麻烦,就搁置了。今天就看到宝塔面板的企业版插件那里有一个“宝塔负载均衡”的插件,顿时给了我灵感(当然我们也不需要用到那个30块的插件,太麻烦了)
首先看看宝塔的大佬怎么解释负载均衡:
首先说下负载均衡的用法。 比如你有三台机器。那么你可以使用 1台作为主控端。然后其他两台作为负载端 如果你有两台机器那么 你只能使用一台机器作为主控端。另外一台作为负载端。 (这里是重点。因为Nginx作为负载的时候, 如果你用本机做一个负载节点的话。 外部抛过来的域名到这台服务器中是直接502 的, 这个你们可以做一个测试) |
好吧,有点看不懂
在我理解中,是将请求按比例随机分配到服务器的,可那位大佬好像说有台机子不给用(主控端)
我也不理解,那就自己来吧
正文开始
最重要的问题,就是要数据同步,包括网站文件的一致以及数据库的一致
所以咱们用个插件“宝塔数据同步工具”


咱们要实现的效果是什么呢?就是让几台机的数据实时同步,我现在有三台机,当我在其中一台机操作时,我对文件进行更改,我所作出的操作在另外两台机是同步的。所以要配置一下。先在每台机都装上数据同步插件

记住,配置发送任务要配置如下
同步方式:完全(要是选增量的话会导致接收端无法接收发送端对文件的修改,如果在发送端删除了文件,接收端并不会删除)
同步周期:实时(实时同步数据,不会造成延迟)
机子配置一个发送任务,一个接收任务(全部实时),而且如果你有超过两台机就必定要有机多发多收,这台机配置最好高些
这样子就搞定文件传输问题了


然后再搞数据库同步问题,这个想了很久,最终还是决定用远程数据库来搞,即几个主机连同一个数据库。我看了下面板配置,还能限制访问的ip,应该还行,直接设置为几台机的ip加个127.0.0.1就得了

这下几台机都同步了,自己再加个SSL啥的,就基本完美解决
接下来去阿里云,找到云解析DNS
给你的域名加上你主机的ip,搞了多少就加多少条解析
然后看看权重配置

它默认是给你配了1:1:1:1的比例,就是说假设你有4个解析,当别人发了4个请求,就会将这四个请求分别返回到你那四个解析。如果你有台机比较强,可以改改权重,比如1:2,就是如果有3个请求,返回1个到其中一台机,返回两个到另外一台机,这就完美解决权重分配问题了
改完之后,去站长之家看看你的更改生效没有,当你看到你的域名返回好几个ip,是不是觉得很高大上?
当然,宝塔那个负载均衡插件好像也可以,但没试过,好麻烦,好贵
原创文章,作者:Rosmontics,如若转载,请注明出处:https://rosmontis.com/archives/78