您好,登錄后才能下訂單哦!
Haproxy web群集部署
HAProxy提供高可用性、負載均衡以及基于TCP和HTTP應用的代理,支持虛擬主機,它是免費、快速并且可靠的一種解決方案。HAProxy特別適用于那些負載特大的web站點,這些站點通常又需要會話保持或七層處理,HAProxy實現了一種 單一進程模型,此模型支持非常大的并發連接數多進程或多線程模型受內存限制 、系統調度器限制以及無處不在的鎖限制,很少能處理數千并發連接。
部署環境:
主機 | IP地址 | 主機名 | 軟件 | 操作系統 |
Haproxy服務器 | 192.168.1.10 | Haproxy | Haproxy-1.4.24 | Centos-6.5 |
Nginx1服務器 | 192.168.1.20 | Nginx1 | Nginx-1.6.2 | Centos-6.5 |
Nginx2服務器 | 192.168.1.30 | Nginx2 | Nginx-1.6.2 | Centos-6.5 |
客戶機 | 192.168.1.40 | Khj | IE瀏覽器 | Centos-6.5 |
編譯安裝測試nginx
修改ip地址 移走yum倉庫,在下面搭建新的本地yum倉庫 創建nginx軟件包存放文件
掛載nginx光盤 cp到/nginx下
搭建本地yum倉庫
yum文件nginx.repo內容:
進入/nginx目錄tar nginx軟件包 創建nginx用戶名,
編譯安裝nginx
建立測試nginx頁面,啟動nginx服務,查看nginx端口是否啟動
設置iptables防火墻策略,允許80號端口通過
注:配置nginx1服務器跟上面nginx2配置一樣,按照上面步驟執行就可以
使用客戶機訪問nginx兩臺服務器
編譯安裝haproxy
搭建本地yum倉庫安裝haproxy依賴包
tar haproxy軟件包,編譯安裝
TARGET=linux26代表64位操作系統
建立haproxy配置文件
配置haproxy服務器文件 配置文件主要分為global全局配置、defaults默認配置、listen應用組件配置
配置haproxy文件、創建自啟動腳本、設置軟連接
haproxy.cfg配置文件內容如下:
global
log 127.0.0.1 local0 配置日志記錄,local0為日志設備,默認存放在系統日志中
log 127.0.0.1 local1 notice notice為日志級別,通常為24個級別
#log loghost local0 info
maxconn 4096 最大連接數
#chroot /usr/share/haproxy
uid 99 用戶uid
gid 99 用戶uid
daemon
#debug
#quiet
defaults
log global 定義日志為globel配置中的日志定義
mode http 模式為http
option httplog 采用http日志格式記錄日志
option dontlognull
retries 3 檢查節點失敗次數,連續達到三次失敗,會認為節點不可用
maxconn 2000 最大連接數
contimeout 5000 連接超時時間
clitimeout 50000 客戶端超時時間
srvtimeout 50000 服務器超時時間
option httpclose
listen webcluster 0.0.0.0:80 定義一個webcluster應用
option httpchk GET /index.html 檢查服務器的index.html
balance roundrobin 負載均衡調度算法使用輪詢算法
server inst1 192.168.1.20:80 check inter 2000 fall 3 定義的在線節點
server inst2 192.168.1.30:80 check inter 2000 fall 3 如果在后面加bachak就成為備份節點
啟動haproxy服務,關閉防火墻或配置策略
在客戶機上測試web群集是否實現高性能,高可用(把nginx1宕掉)
配置haproxy日志
Haproxy的日志默認是保存到系統的syslog中,查看起來不方便,所以我們在生產環境中可以將日志單獨存儲到不同的文件中,配置如下
首先修改配置文件,主要改下面的部分
然后修改rsyslog配置,將haproxy相關的配置獨立定義到haproxy.conf,并放到/etc/rsyslog.d下,rsyslog啟動時會自動加載此目錄下所有的配置文件
配置內容如下:
if ($programname == 'haproxy' and $syslogseverity-text == 'info') then -/var/log/haproxy/haproxy-info.log
$ ~
if ($programname == 'haproxy' and $syslogseverity-text == 'notice') then -/var/log/haproxy/haproxy-notice.log
$ ~
重啟rsyslog服務,并且查看haproxy訪問信息
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。