基于Linux系统的高可用中小型网站集群架构说明

网站集群组成所需服务器主机名eth0网卡eth1网卡服务简介lb0110.0.0.5/24172.16.1.5/24负载服务主lb0210.0.0.6/24172.16.1.6/24负载服务备web0110.0.0.7/24172.16.1.7/24动态php服务web0210.0.0.8/24172.16.1.8/24https访问、vpn服务web0310.0.0.9/24172.16.1.9/24ELK日志分析系统db0110.0.0.51/24172.16.1.51/24主数据库服务db0210.0.0.52/24172.16.1.52/24从数据库服务nfs0110.0.0.31/24172.16.1.31/24存储服务backup10.0.0.41/24172.16.1.41/24备份服务m0110.0.0.61/24172.16.1.61/24管理、yum、监控m0210.0.0.62/24172.16.1.62/24跳板机服务网站集群各服务器作用A.web服务:负责处理用户的请求,提供网页服务,将上传的数据需要放到存储服务器上 。涉及核心软件:Nginx、PHP、Tomcat,NFS、定时任务服务等 B.负载均衡服务:负载均衡器,负责调度网站访问请求,需要2台主备服务器,同时做 高可用 。涉及核心软件:Nginx和Keepalved C.数据库服务:提供bbs、blog、www等文章文本内容的存储和访问 。涉及核心软件:MySQL、MariaDB、PHP等 D.存储服务:提供blog、bbs、www等服务上的共享图片、视频、附件数据存储 。涉及核心软件:NFS E.备份服务:提供全网数据的备份服务,以及异地灾备、涉及软件核心:Rsync服务 F.实时同步服务:提供nfs服务与rsync服务实时数据同步,实现数据无差别还原与备份 。涉及核心软件:sersync G.管理服务:管理所有服务器,包括批量分发文件、批量执行命令、批量配置服务、跳板机服务,远程拨号服务,yum仓库服务等 。涉及核心软件:SSH、Ansible、跳板机等
网站集群架构图及思路

基于Linux系统的高可用中小型网站集群架构说明

文章插图
架构图
思路: 该架构是以web集群作为始发点,通过nginx+PHP相关服务搭建出aaa.xxx.com的基础网站,其中https访问,用户在通过负载均衡的分配访问到不同的web服务器上,进行浏览;当有数据发生变化的同时通过数据库的迁移保证动态数据信息实时同步,而数据库服务器与存储服务器保持共享存储从而达到静态数据信息的实时同步,再通过sersync实时同步将nfs服务器与数据库服务器中的数据备份到rsync服务器中,最后使用定时任务将整个架构中的重要数据、配置文件、脚本信息等进行压缩备份 。而内部人员可通过vpn、跳板机、管理服务器对整个集群架构进行统一管理,同时记录集群日志和实时监控 。
网站集群实现目标实现目标为,当用户上传文本、音频、附件等数据信息的同时,做到数据库、存储服务器皆有该数据信息,并在定时任务后备份服务器中也存在该数据 。
网站集群各服务器基础优化(模板机)1.配置解析文件
vim /etc/hosts127.0.0.1localhost localhost.localdomain localhost4 localhost4.localdomain4::1localhost localhost.localdomain localhost6 localhost6.localdomain610.0.0.5 lb0110.0.0.6 lb0210.0.0.7 web0110.0.0.8 web0210.0.0.9 web0310.0.0.31 nfs0110.0.0.41 backup10.0.0.51 db0110.0.0.61 m0110.0.0.71 zabbix2.修改主机名称和网卡地址(需添加多块网卡)
修改主机名称: hostnamectl set-hostname 名称
修改主机网卡地址: sed -ri 's#200#ip#g;/UUID|HWADDR/d' 
/etc/sysconfig/network-scripts/ifcfg-eth[01] 3.更新yum源 a.curl -o 
/etc/yum.repos.d/centos-Base.repo 
http://mirrors.aliyun.com/repo/Centos-7.repo b.wget -O 
/etc/yum.repos.d/epel.repo 
http://mirrors.aliyun.com/repo/epel-7.repo c.rpm -Uvh 
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm d.rpm -Uvh 
https://mirror.webtatic.com/yum/el7/webtatic-release.rpm e.yum clean all
4.关闭selinux
【基于Linux系统的高可用中小型网站集群架构说明】 vim /etc/selinux/config # This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:#enforcing - SELinux security policy is enforced.#permissive - SELinux prints warnings instead of enforcing.#disabled - No SELinux policy is loaded.SELINUX=disabled# SELINUXTYPE= can take one of three values:#targeted - Targeted processes are protected,#minimum - Modification of targeted policy. Only selected processes are protected. #mls - Multi Level Security protection.SELINUXTYPE=targeted5.关闭防火墙 systemctl stop firewalld systemctl disable firewalld 6.修改为英文字符集 echo 'LANG="en_US.UTF-8"' >/etc/locale.conf source /etc/locale.conf echo $LANG 7.时间同步 ntpdate ntp1.aliyun.com 8.优化内核
cat >>/etc/sysctl.conf<<EOFnet.ipv4.tcp_fin_timeout = 2net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_syncookies = 1net.ipv4.tcp_keepalive_time = 600net.ipv4.ip_local_port_range = 400065000net.ipv4.tcp_max_syn_backlog = 16384net.ipv4.tcp_max_tw_buckets = 36000net.ipv4.route.gc_timeout = 100net.ipv4.tcp_syn_retries = 1net.ipv4.tcp_synack_retries = 1net.core.somaxconn = 16384net.core.netdev_max_backlog = 16384net.ipv4.tcp_max_orphans = 16384EOF


推荐阅读