目录
前一篇文章:搭建一个博客网站,供企业内部交流(上)-CSDN博客
五、配置多台web服务器
为了提升web服务的性能和可靠性,我们需要配置多台web服务器
1、在web2和web3上安装软件包:yum -y install nginx php-fpm php-mysqlnd php-json
2、将web1的/usr/share/nginx/html目录打包,发送给web2和web3,使3台服务器实现相同配置、提供相同服务
3、访问测试:访问192.168.88.12和192.168.88.13,将会得到与192.168.88.11相同的页面
六、配置NFS服务器
为了进一步提升web服务器的性能,我们可以另外配置一台NFS服务器,将网站数据迁移到NFS服务器上,从而减轻web服务器的压力
1、配置NFS服务(在NFS主机进行)
1)安装nfs:yum -y install nfs-utils
2)创建一个共享目录:mkdir /nfs_root
3)修改配置文件:vim /etc/exports
/nfs_root 192.168.88.0/24(rw)
4)启动服务,挂载共享目录:systemctl start nfs-server / rpcbind #nfs依赖rpcbind服务
5)查看共享文件:showmount -e
2、迁移文件至nfs共享(在web1服务器进行)
1)将web1的html目录打包:tar -czf /root/html.tar.gz /usr/share/nginx/html
将压缩包发送给nfs主机:scp /root/html.tar.gz 192.168.88.31:/root/
2)nfs主机将tar包解压缩到共享目录下:tar -xf /root/html.tar.gz -C /nfs_root/
3)清除web1服务器的html目录:rm -rf /usr/share/nginx/html/*
4)挂载nfs到web服务器:mount 192.168.88.31:/nfs_root/html /usr/share/nginx/html
3、在客户机上访问web1:curl 192.168.88.11
七、配置调度器
为了使整个web集群的功能更加完善,我们可以再安装两台调度器,通过HAProxy来实现对web服务器的自由调度
1、配置haproxy,实现反向代理
1)安装软件包:yum -y install haproxy
2)修改配置文件:vim /etc/haproxy/haproxy.cfg
#删除64行之后的内容
listen wordpress
bind 0.0.0.0:80 #监听80端口
balance roundrobin #采用轮询模式
server web1 192.168.88.11:80 check inter 2000 rise 2 fall 5 #每隔2000毫秒检查一次,连续5次失败认定为服务器不可用
server web2 192.168.88.12:80 check inter 2000 rise 2 fall 5
server web3 192.168.88.13:80 check inter 2000 rise 2 fall 5
listen mon
bind 0.0.0.0:1080
stats refresh 30s #每隔30秒刷新一次
stats uri /mon #监控网站:本次ip地址:端口号/mon
stats auth admin:admin #授权admin用户登录
3、配置keepalived,搭建高可用的负载均衡集群
1)安装软件包:yum -y install keepalived
2)修改配置文件:vim /etc/keepalived/keepalived.conf
12行:router_id haproxy01/haproxy02 #设置本机在集群中的唯一识别符
13行:vrrp_iptables #自动配置iptables放行规则
... ...
20行:vrrp_instance VI_1 {
21行: state MASTER/BACKUP #状态,主为MASTER,备为BACKUP
22行: interface eth0 #网卡
23行: virtual_router_id 51 #虚拟路由器地址,主备必须一致
24行: priority 100/80 #优先级,主100,备80
25行: advert_int 1 #发送心跳消息的间隔
26行: authentication {
27行: auth_type PASS #认证类型为共享密码
28行: auth_pass 1111 #集群中的机器密码相同,才能成为集群
29行: }
30行: virtual_ipaddress {
31行: 192.168.88.80/24 #VIP地址
32行: }
33行:}
#删除下面所有行
4、启动haproxy和keepalived服务,然后在客户端进行验证:curl 192.168.88.80
八、配置名称解析
1、通过/etc/hosts文件实现本地域名解析:echo "192.168.88.80 www.abc.com" >> /etc/hosts
2、当点击http://www.abc.com页面中任意链接时,地址栏上的地址会变成192.168.88.11,可以通过以下方式修复它:vim /nfs_root/html/wp-config.php
define('WP_SITEURL', 'http://www.abc.com');
define('WP_HOME', 'http://www.abc.com');
#在define('DB_NAME', 'wordpress')的上方添加以上两行
九、项目完成后的最终效果
1、客户访问域名:www.abc.com
2、本地主机进行域名解析,将域名转换为vip:192.168.88.80(在haproxy01上)
3、haproxy01进行反向代理,将访问请求跳转到3台web服务器(采用轮询模式)
4、web服务器处理访问请求