keepalived haproxy搭建web群集

2021-09-27 07:18:31 字數 4698 閱讀 2034

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...