如何搭建、升级部署栓Q验证系统集群服务器(多服务器部署使用)
集群验证系统的利与弊
利
1.多个服务器可以提升效率与突发情况备用,即使自己某个服务器被不确定因素宕机,还有其他的服务器可以使用
2.可以有多个节点服务器让用户选择,用户可以自己选择对自己地区比较近的服务器进行请求,提升速度与效率
3.可以在多个地区部署使用,比如国内服务器只给国内用户请求,国外服务器只给国外用户请求,后续有新地区需求可直接扩容升级
弊
1.首先毫无疑问,成本提高了,原本只需要支出一个服务器的费用,使用了集群部署后需要承担多个服务器、域名的成本
2.维护难度增加,毕竟多个服务器都需要进行安全防护,架设对应的防火墙等一系列工具
3.人工成本增加,需要管理多个服务器,并且要更新验证系统的时候每个服务器都需要进行人工升级(方法下方已教)
集群服务器部署准备工作
1.首先你得有2台以上服务器,然后选一台你觉得性能最好的服务器作为你的主服务器(以下称为主服务器,站点称为主站点),其余的服务器作为子服务器
2.准备好对应服务器数量的域名(确保是栓Q验证授权过的域名),并做好域名解析工作,用于添加对应的网站使用
3.准备一个数据库,用于存储验证系统的数据,让所有的服务器站点都读取这个数据库的数据,实现数据统一,你可以在云计算平台(如阿里云腾讯云等)买一个独立云数据库作为你的验证数据库,当然也可以在你的主服务器里面创建一个数据库作为验证系统的数据库,二选一自行选择,无论选择哪个都不影响使用
开始搭建部署集群服务器
搭建安装验证网站
准备工作-配置搭建的数据库
如果你采用的是独立云数据库,那么就在你购买云数据库的控制台里设置一下端口与数据库的访问权限,确保自己的所有服务器能够连接到云数据库
如果你采用服务器本地数据库(服务器自带的数据库),那么需要将数据库权限开放一下,否则所有的子服务器都没法连接上验证的数据库,在宝塔的数据库管理,选择自己验证系统的数据库,点击权限,再根据图片所示设置一下权限即可,数据库的端口也需要开放外部访问,在宝塔的安全管理,端口规则,添加端口规则,选择tcp协议,端口输入数据库的端口,来源选择所有或者选指定IP输入自己所有服务器的IP,策略选允许,提交规则保存即可(需要注意自己在云计算平台的服务器管理的防火墙(安全组)管理里面也需要将数据库的端口开放,不然无法访问)
数据库访问权限设置如图
开放数据库端口设置如图
开始搭建-未搭建全新部署
此步骤是全新搭建部署教程,如果你已经搭建过了有重要数据不想重新搭建但需要升级集群部署使用,可以看下面的已搭建升级多服务器教程(看完此步骤别忘了继续往下看)
开始搭建-全新搭建部署:下载好验证系统源码,在所有服务器里添加好站点并绑定好域名,然后方法跟搭建时候一样该设置伪静态设置以及站点运行目录,然后将验证系统源码上传到主服务器站点里面解压(子服务器的站点先不用上传源码,把伪静态和运行目录设置好即可),然后访问自己的主服务器站点进行安装,填写对应的数据库信息,如果自己的数据用的是服务器本地的数据库,那填写数据库对应的服务器的IP地址即可,然后点击安装,主站点就可以正常使用了,然后在主服务器的站点里面把所有源码文件打包下载,上传到所有的子服务器的站点里面并且解压,解压之后如果你的运行目录、伪静态也都设置好了那么所有的子服务器站点也就全部部署好了,挨个访问测试即可(因为数据库的配置文件在config/database.php里面配置了数据库的连接信息,打包给所有子服务器解压的话也相当于是使用了一样的数据库,所以不需要去挨个配置子服务器数据库信息了)
开始搭建-已搭建过需要升级集群
此步骤是已经搭建过了有重要数据不想重新搭建但需要升级集群部署使用的教程(看完此步骤别忘了继续往下看)
开始搭建-已搭建升级集群:首先将自己已经搭建好的验证系统站点迁移到自己主服务器里,至于如何迁移请看文档说明,如果本身就是在主服务器里就不用迁移了,在所有子服务器里添加好站点并绑定好域名,并设置好站点运行目录和伪静态,跟刚搭建时一样的设置,然后在主服务器站点里打包所有源码文件,上传给所有的子服务器站点并且解压,最后就部署完了,挨个访问测试即可(因为数据库的配置文件在config/database.php里面配置了数据库的连接信息,打包给所有子服务器解压的话也相当于是使用了一样的数据库,所以不需要去挨个配置子服务器数据库信息了)
重要注意事项说明
1.系统后台的操作尽量使用主站点进后台操作,尤其是选择图片、文件这一类的配置保存等信息必须使用主站点去操作,所以避免出现问题还是统一用主站点操作,其他页面用不用访问主站点都没关系,比如代理后台,在线反馈页、应用官网页等更多除了系统后台页面
2.图片、文件存储必须使用云存储,不能使用服务器本地存储(因为你是多个服务器多个站点部署一套验证系统,不同的站点,访问的文件服务器是不一样的,比如a站点存储了一个文件在a服务器,此时b站点想要访问这个文件是访问不到的,因为b站点的b服务器里面不存在这个文件,只有a站点的a服务器才有,所以会导致文件不同步,就会导致一些文件上传、文件下载的接口影响使用,最好的解决办法就是用云存储,系统后台提供了这样的功能可以对接阿里云的对象存储,用不了多少钱)
3.升级系统时,需要在主服务器主站点进行在线更新,更新完毕后,需要将所有的子服务器同步更新否则无法使用,还是一样的方法将主服务器主站点的所有文件打包给所有的子服务器上传解压,这样所有子服务器的站点也就更新完毕了(数据库可以不用管,因为用的都是一个数据库,在主服务器更新的时候数据库就已经更新了),如果自己想手动更新,可以下载最新版的源码,去掉源码里面的config/database.php这个文件,最后上传到所有服务器站点根目录解压即可将站点升级到最新版,但仅仅是站点是最新版,如果新版本涉及到数据库的更新,那么数据库就还不是最新版,需要在系统后台的更新系统页面,点击单独更新数据库按钮进行数据库升级即可