haproxy配置檔案詳解參考:haproxy
環境如下:
2.png
一、準備:
2、web **可以使用apache、nginx、搭建都可以,這裡為了方便我就直接使用系統盤帶的httpd服務了。
3、配置防火牆放行流量
4、我這裡使用的全部是centos 7系統,注意,該環境不是生產環境,若是在生產環境中,肯定還有後端儲存來存放網頁檔案,web伺服器讀取儲存伺服器上的網頁返回給客戶端。這樣才可保證網頁內容的一致性。
二、開始搭建:
1、配置主伺服器:
[root@haproxy1 /]# yum -y install pcre-devel bzip2-devel keepalived # 安裝相關的依賴包和軟體包
[root@haproxy1 media]# tar zxf haproxy-1.5.19.tar.gz -c /usr/src/
[root@haproxy1 media]# cd /usr/src/haproxy-1.5.19/
[root@haproxy1 haproxy-1.5.19]# make tarhet=linux26 && make install # 編譯安裝,target表示64位作業系統
[root@haproxy1 haproxy-1.5.19]# mkdir /etc/haproxy # 建立用來存放主配檔案的目錄
[root@haproxy1 haproxy-1.5.19]# cp examples/haproxy.cfg /etc/haproxy/ # 將編譯包中的主配檔案複製到配置檔案目錄,注意啊:這個配置檔案是在編譯包中,注意看路徑
[root@haproxy1 /]# vim /etc/haproxy/haproxy.cfg
global
log /dev/log local0 info
log /dev/log local0 notice
#log loghost local0 info
maxconn 4096
#chroot /usr/share/haproxy # 將此行注釋掉
listen webcluster 0.0.0.0:80 # 將埠號修改為80,webcluster為群集名稱,可修改
balance roundrobin # 表示採用輪詢演算法
server web1 192.168.1.20:80 check inter 2000 fall 3 # 兩個web節點
server web2 192.168.1.30:80 check inter 2000 fall 3
[root@haproxy1 /]# cp /usr/src/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy # 復**務控制指令碼
[root@haproxy1 /]# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy # 建立鏈結使命令使用更方便
[root@haproxy1 /]# chmod +x /etc/init.d/haproxy # 新增執行許可權
[root@haproxy1 /]# chkconfig --add /etc/init.d/haproxy # 新增為系統服務
[root@haproxy1 /]# /etc/init.d/haproxy start # 啟動
starting haproxy (via systemctl): [ ok ]
[root@haproxy1 /]# vim /etc/rsyslog.d/haproxy.conf # 配置日誌檔案,寫入如下內容
if ($programname == 『haproxy』 and katex parse error: expected 'eof', got '&' at position 72: …proxy-info.log &̲ ~ if (programname == 『haproxy』 and $syslogseverity-text == 『notice』) then -/var/log/haproxy/haproxy-notice.log
& ~[root@haproxy1 /]# systemctl restart rsyslog.service # 重啟日誌服務
配置 keepalived :
[root@haproxy1 /]# vim /etc/keepalived/keepalived.conf
! configuration file for keepalived
global_defs
notification_email_from [email protected]
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id lvs1 # 主從排程器名稱區分開
}vrrp_instance vi_1
virtual_ipaddress
}[root@haproxy1 /]# systemctl restart keepalived # 重啟服務使配置生效
2、配置從伺服器:
[root@haproxy2 /]# yum -y install pcre-devel bzip2-devel keepalived
[root@haproxy2 media]# tar zxf haproxy-1.5.19.tar.gz -c /usr/src/
[root@haproxy2 media]# cd /usr/src/haproxy-1.5.19/
[root@haproxy2 haproxy-1.5.19]# make target=linux26 && make install
[root@haproxy2 haproxy-1.5.19]# mkdir /etc/haproxy
[root@haproxy2 haproxy-1.5.19]# scp [email protected]:/etc/haproxy/haproxy.cfg /etc/haproxy/ # 圖個方便直接複製
[email protected]』s password:
haproxy.cfg 100% 570 0.6kb/s 00:00
[root@haproxy2 /]# cp /usr/src/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy # 復**務控制指令碼
[root@haproxy2 /]# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
[root@haproxy2 /]# chmod +x /etc/init.d/haproxy
[root@haproxy2 /]# chkconfig --add /etc/init.d/haproxy
[root@haproxy2 /]# /etc/init.d/haproxy start
starting haproxy (via systemctl): [ ok ]
[root@haproxy2 /]# scp [email protected]:/etc/rsyslog.d/haproxy.conf /etc/rsyslog.d/
[email protected]』s password:
haproxy.conf 100% 226 0.2kb/s 00:00
[root@haproxy2 /]# systemctl restart rsyslog.service # 重啟服務使配置生效
[root@haproxy2 haproxy-1.5.19]# scp [email protected]:/etc/keepalived/keepalived.conf /etc/keepalived/
[email protected]』s password:
keepalived.conf 100% 3511 3.4kb/s 00:00
[root@haproxy2 /]# vim /etc/keepalived/keepalived.conf # 修改主配置檔案,修改如下幾個部分
… 省略部分
router_id lvs2 # 主從排程器區分id
}vrrp_instance vi_1
virtual_ipaddress
}[root@haproxy2 /]# systemctl restart keepalived
兩個web節點配置(兩個配置相同):
[root@web2 /]# echo server2.com > /var/www/html/index.html # 建立測試網頁
搭建web服務
安裝 sudo apt get install apache2 檢視狀態 sudo service apache2 status 如果在running的話,登陸瀏覽器 ip 網域名稱 埠預設就是80 開啟 終止apache服務 sudo service apache2 start stop 可以把靜...
搭建web框架
目錄 python的django flask都是非常優秀的web框架,django適合大型專案的,flask小而巧,使用flask簡單快捷。安裝flask庫,把測試報告的位址指向到flask目錄下面的templates目錄下面 增加乙個路由指向到測試報告檔案,裝飾器定義url位址,render te...
Redis3 0 6集群搭建
建立乙個rediscluster之前,我們需要有一些以cluster模式執行的redis例項,這是因為cluster模式下redis例項將會開啟cluster的特徵和命令。現在我有2臺vbox搭建的centos6虛擬機器 centos1 192.168.56.101 和centos2 192.168...