haproxy動靜分離

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動靜分離完成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章