haproxy安装

haproxy负载均衡



haproxy动静分离的实验结果:
当客户端访问haproxy时,请求的是静态文件内容时,请求转交给static server,请求的是php内容时,请求转交给php server,请求的是jsp内容时,请求转交给tomcat server,以实现动静分离。


操作:

        

        部署三台web服务器:

                分别支持php  静态网页   动态网页



                静态网页:

yum install -y httpd

vi /etc/httpd/conf/httpd.conf

image.png

image.png

systemctl start httpd

image.png

image.png

            php网页:

yum install -y httpd

vi /etc/httpd/conf/httpd.conf

image.png

image.png

注:修改以.php格式,使http支持php

image.png

systemctl start httpd

image.png

image.png

            动态网页:

链接:https://pan.baidu.com/s/1rWAAi04FhmzFSlItgCntVg
提取码:y9yb   (软件包)

关闭防火墙及SELinux

tar xf apache-tomcat-8.5.23.tar.gz

tar xf jdk-8u144-linux-x64.tar.gz    //解压


cp -rv jdk1.8.0_144/ /usr/local/java   // 将jdk1.8.0_144拷贝到/usr/local/java目录中


vi /etc/profile     //编译java环境

export JAVA_HOME=/usr/local/java

export JRE_HOME=/usr/local/java/jre

export PATH=$PATH:/usr/local/java/bin

export CLASSPATH=./:/usr/local/java/lib:/usr/local/java/jre/lib 


source /etc/profile   


执行  java -version    查看版本


到此,JAVA环境搭建完毕。

cp -r apache-tomcat-8.5.23 /usr/local/tomcat8  //将apache-tomcat-8.5.23拷贝到/usr/local/tomcat8目录下

ln -s /usr/local/tomcat8/bin/startup.sh /usr/bin/tomcatup
ln -s /usr/local/tomcat8/bin/shutdown.sh /usr/bin/tomcatdown 

//将tomcat的启动和关闭软连接  使执行tomcatup命令为开启tomcat  tomcatdown为关闭

netstat -anpt | grep 8080  查看java是否在运行


--------------------- 

注:
bin            存放启动和关闭tomcat脚本
conf          包含不同的配置文件,server.xml(Tomcat的主要配置文件)和web.xml
lib             存放Tomcat运行或者站点运行所需的jar包,所有在此Tomcat上的站点共享这些jar包。
work          存放jsp编译后产生的class文件
webapp     存放应用程序示例,以后你要部署的应用程序也要放到此目录 ,可以更改。
logs           存放日志文件

LICENSE:许可证。
NOTICE:说明文件。
--------------------- 

image.png


        haproxy服务器:

            注:以下为haproxy安装基础上继续完成的,请从安装开始做起。

 vi /etc/haproxy/haproxy.cfg

---

# this config needs haproxy-1.1.28 or haproxy-1.2.1

global
        log 127.0.0.1   local0
        log 127.0.0.1   local1 notice
        #log loghost    local0 info
        maxconn 4096
#       chroot /usr/share/haproxy
        uid 1000
        gid 1000
        daemon
        #debug
        #quiet

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        redispatch
        maxconn 2000
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000


listen admin_stats
    bind 0.0.0.0:8089
    stats enable
    mode http
    log global
    stats uri  /stats
    stats realm Haproxy\ Statistics
    stats auth  admin:admin
    #stats hide-version
    stats admin if TRUE
    stats refresh 30s

listen  www
        bind *:80
        maxconn 5000
        mode http
        log global
        option httplog
        option httpclose
        option forwardfor
        log         global

        default_backend default

        acl host_static hdr_beg(host)  -i img. video. download. ftp. imags. videos.
        acl url_php path_end     -i .php
        acl url_jsp path_end     -i .jsp .do


        use_backend static_pool if  url_static or host_static
        use_backend php_pool    if  url_php
        use_backend tomcat_pool if  url_jsp


 backend static_pool
        option  httpchk GET /index.html
        server static1 192.168.80.182:80 cookie id1  check inter 2000 rise 2 fall 3
 backend php_pool
        option  httpchk GET /info.php
        server php1 192.168.80.184:80 cookie id1 check inter 2000 rise 2 fall 3
 backend tomcat_pool
        option  httpchk GET /index.jsp
        server tomcat1 192.168.80.185:8086 cookie id2 check inter 2000 rise 2 fall 3

backend default
        mode http
        option  httpchk GET /index.html
        server default 192.168.80.186:80 cookie id1 check inter 2000 rise 2 fall 3 maxconn 5000

---


重启haproxy服务

service haproxy restart


到浏览器测试:

image.png

到此。haproxy动静分离完成