1. 程式人生 > >haproxy動靜分離

haproxy動靜分離

在80.100虛擬機器上

systemctl stop firewalld //關閉防火牆
setenforce 0 //關閉監控
yum install lrz* -y //安裝上傳軟體
tar xf haproxy-1.5.15.tar.gz -C /opt/ //解壓壓縮包到/opt/
cd /opt/haproxy-1.5.15/ //進入/opt/haproxy-1.5.15/
yum install -y \
pcre-devel \
bzip2-devel \
gcc \
gcc-c++ \
make
uname -r
haproxy動靜分離
make TARGET=linux26 PREFIX=/usr/local/haproxy //標識64為系統
make install PREFIX=/usr/local/haproxy
mkdir /etc/haproxy //建立目錄
useradd -s /sbin/nologin -M haproxy //建立使用者
id haproxy //檢視使用者資訊
haproxy動靜分離


cd examples/ //進入examples/
cp haproxy.cfg /etc/haproxy/ //拷貝到/etc/haproxy/
cd /etc/haproxy/ //進入cd /etc/haproxy/
vi haproxy.cfg //進入vi 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      //定義haproxy 日誌級別
    maxconn 4096   //可以接收的最大併發連線數
#chroot /usr/share/haproxy   //工作目錄
    uid 1001   //執行的程式使用者 
    gid 1001    //執行的程式使用者組
    daemon    //建立1個程序進入deamon模式執行,以後臺形式執行harpoxy
    #debug
     #quiet

defaults
    log     global   //定義日誌,採用全域性定義
    mode    http       //所處理的類別,tcp是四層,http是七層,health只會返回OK,若是混合模式則mode不需要設定
    option  httplog     //每次請求完畢後主動關閉http通道
    option  dontlognull    //不記錄健康檢查的日誌資訊
    retries 3
    redispatch
    maxconn 2000
    contimeout      5000
    clitimeout      50000
    srvtimeout      50000

listen admin_stats     //為haproxy訪問狀態監控頁面配置,取名為admin_stats
bind 0.0.0.0:8089      //監聽埠
stats enable         //啟用監聽埠
mode http   //http的7層模式
log global   // 繼承global中log的定義
stats uri  /stats   //監控頁面的url訪問路徑,即http://ip/stats訪問監控頁面
stats realm Haproxy\ Statistics    //監控頁面的密碼框提示資訊
stats auth  admin:admin    //監控頁面的使用者和密碼admin,可以設定多個使用者名稱
     #stats hide-version   //隱藏統計頁面上HAProxy的版本資訊
    stats admin if TRUE    //當通過認證才可管理
stats refresh 30s    //頁面自動重新整理時間30s
    :wq     //儲存退出

cd -
cp haproxy.init /etc/init.d/haproxy //拷貝到/etc/init.d/haproxy
ll /etc/init.d/haproxy //檢視這個檔案有哪些許可權
chmod +x /etc/init.d/haproxy //給這個檔案x許可權
ll /etc/init.d/haproxy //檢視這個檔案有哪些許可權
haproxy動靜分離
chkconfig --add haproxy
在百度上192.168.80.100:8089/stats
haproxy動靜分離
vi /etc/haproxy/haproxy.cfg
#最後一行新增
listen www
bind *:80
maxconn 5000
mode http
log global
option httplog
option httpclose
option forwardfor
log global

    default_backend default   #設定預設訪問頁面
    #jingtai
    acl url_static path_beg  -i /static /images /img /javascript /stylesheets
    acl url_static path_end  -i .jpg .gif .png .css .js .html
    acl host_static hdr_beg(host)  -i img. video. download. ftp. imags. videos.

    #php
    acl url_php path_end     -i .php

    #jsp
    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.101:80 cookie id1  check inter 2000 rise 2 fall 3

 backend php_pool
    option  httpchk GET /index.php
    server php1 192.168.80.102:80 cookie id1 check inter 2000 rise 2 fall 3

 backend tomcat_pool
    option  httpchk GET /index.jsp
    server tomcat1 192.168.80.103:8080 cookie id2 check inter 2000 rise 2 fall 3

backend default
    mode http
    option  httpchk GET /index.html
    server default 192.168.80.104:80 cookie id1 check inter 2000 rise 2 fall 3 maxconn 5000
            :wq   //儲存退出

service haproxy stop //關閉haproxy服務
service haproxy start //開啟haproxy服務


在80.101虛擬機器上

systemctl stop firewalld
setenforce 0
yum install httpd -y
vi /etc/httpd/conf/httpd.conf
找到ServerName www.example.com:80吧#去掉
:wq //儲存退出
cd /var/www/html/ //進入這個目錄
yum install lrz* -y //安裝上傳軟體
往這個目錄拖進一個圖片圖片名是error.jpg
systemctl start httpd //重啟httpd服務
百度搜192.168.80.101/error.jpg
haproxy動靜分離
mkdir img //在當前目錄下建立img目錄
haproxy動靜分離
mv error.jpg img/ //把圖片移動到img目錄裡面
vi index.html //建立並進入
<h1>server aa</h1>
:wq //儲存退出


在80.102虛擬機器上

systemctl stop firewalld //關閉防火牆
setenforce 0 //關閉監控
yum install httpd -y //安裝httpd服務
vi /etc/httpd/conf/httpd.conf //進入這個配置檔案
找到ServerName www.example.com:80吧#去掉
找到DirectoryIndex index.html在後面新增index.php
haproxy動靜分離
:wq //儲存退出
安裝元件是php支援mysql
yum install -y \
php-mysql \
php-gd \
libjpeg* \
php-ldap \
php-odbc \
php-pear \
php-xml \
php-xmlrpc \
php-mbstring \
php-bcmath \
php-mhash
vi /etc/php.ini //進入這個配置檔案
找到;date.timezone =把;去掉在後面新增PRC
date.timezone = PRC 日期時區=×××
:wq //儲存退出
yum install -y php //安裝PHP服務
cd /var/www/html/ //進入這個目錄
vi index.php //進入這個檔案
<?php
phpinfo();
?>
:wq //儲存退出
systemctl start httpd //重啟服務
百度搜192.168.80.102
haproxy動靜分離


在80.103虛擬機器上

systemctl stop firewalld //關閉防火牆
setenforce 0 //關閉監控
yum install lrz* -y //安裝上傳軟體
把這兩個選中的軟體包拖進去
haproxy動靜分離
tar xf jdk-8u144-linux-x64.tar.gz -C /opt/ //解壓到/opt/
tar xf apache-tomcat-8.5.23.tar.gz -C /opt/ //解壓到/opt/
cd /opt/ //進入目錄
cp -rf jdk1.8.0_144/ /usr/local/java //拷貝一份到/usr/local/java
vi /etc/profile //進入檔案
在在檔案末尾新增
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
:wq //儲存退出
source /etc/profile
java -version
haproxy動靜分離
cp -rf apache-tomcat-8.5.23/ /usr/local/tomcat8 //拷貝一份到 /usr/local/tomcat8
ln -s /usr/local/tomcat8/bin/startup.sh /usr/sbin/tomcatup //軟連結
ln -s /usr/local/tomcat8/bin/shutdown.sh /usr/sbin/tomcatdown //軟連結
tomcatup
百度搜192.168.80.103:8080
haproxy動靜分離

結果百度搜192.168.80.100:8089/stats

haproxy動靜分離
搜192.168.80.100/img/error.jpg

haproxy動靜分離
搜192.168.80.100/index.php

haproxy動靜分離
搜192.168.80.100/index.jsp

haproxy動靜分離