haproxy实验

2017-09-11  本文已影响0人  geekdeedy

实验目的:

客户端访问vip,然后两台调度器哪台优先级高哪台取得vip,通过haproxy提供代理服务,通过调度算法找到后端的节点。

实验环境:

1台客户端、2台haproxy服务器、1台varnish服务器、2个lamp主机、1台nfs服务器

实验过程:

1.部署nfs服务器
yum -y install nfs-utils
vim /etc/exports
添加如下内容
/usr/share/wordpress/ 172.16.200.103(rw,no_root_squash) 172.16.200.104(rw,no_root_squash) #no_root_squash表示不压缩权限,在本地使用时权限仍然为root,不写这一条可能导致本地不能创建文件。
service rpcbind start
service nfs start
exportfs -v #检测共享成功
然后下载wordpress安装包,解压到/usr/share/之下
2.在两台节点服务器上部署lamp环境:
(1)配置php和httpd

yum -y install httpd php mysql-server php-mysql
vim /var/www/html/index.php
<?php
phpinfo();
?>

用浏览器访问http://172.16.200.103/index.php ,出现php页面证明php和httpd安装成功
(2)挂载nfs文件系统:

yum -y install nfs-utils
mkdir /var/www/html/wordpress/
mount 172.16.200.105:/usr/share/wordpress /var/www/html/wordpress/

(3)然后配置mysql

systemctl start mariadb
mysql_secure_installation     #运行mysql初始化程序,给root设置个密码,然后删除多余的用户和库
mysql -u root -p    #输入密码后进入mysql
mysql> create database wordpress;    #创建专用库
mysql> grant all on wordpress.* to worduser@'172.16.%.%' identified by '123';    #创建并授权用户

(4)测试
完成后访问172.16.200.103/wordpress,出现wordpress设置页面,将在数据库中创建的库名和用户名密码输入,ip地址填写为当前lamp服务器的ip。然后下一步,这里会提示我们创建配置文件,我们在wordpress目录下创建这个文件,然后将内容粘贴进去:

cd /var/www/html/wordpress/
vim wp-config.php
将网页中提示的文件内容粘贴进去就行,这里就不在显示文件内容了
然后输入标题,输入网站用户名和密码,就进入到wordpress中了
3.在两台调度器上安装haproxy服务,并配置文件。
yum -y install haproxy
vim /etc/haproxy/haproxy.cfg
#找到frontend main *:5000行,将这行和之后的内容都删除掉,自己定义以下内容

frontend web    
        bind *:80
        default_backend     websrvs

backend websrvs
                balance roundrobin
                server srv1 172.16.200.103:80 check
                server srv2 172.16.200.104:80 check

然后重启haproxy,测试
4.部署keepalived
在两台调度器上安装keepalived,然后部署
这是第一台的配置

yum -y install keepalived
vim /etc/keepalived/keepalived.conf
global_defs {
   notification_email {
    test.test.io
   }
   notification_email_from admin@mageedu.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id node1
   vrrp_mcast_group4 224.16.120.18
}

vrrp_script chk_haproxy {
    script "killall -o haproxy"
    interval 2
    weight -10
    fall 2
    rise 2
}
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 16
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        172.16.200.100
    }
    track_script {
    chk_proxy
    }
}

这是第二台的配置

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 16
    priority 95
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        172.16.200.100
    }
    track_script {
    chk_proxy
    }
}
上一篇下一篇

猜你喜欢

热点阅读