前段時間因為安全考慮需要mysql 做內網隔離,再需要的時候開啟**,通過外網來進行訪問,同事推薦了haproxy,官網有些慢,這裡通過一些文章可以正常的開啟haproxy,這裡紀錄一下,希望能幫助到大家
2.將haproxy-1.7.8.tar.gz拷貝至/opt目錄下,解壓縮:
tar zxvf haproxy-1.7.8.tar.gz
進入目錄,編譯成可執行檔案。
將源**解壓之後,需要執行make來將haproxy編譯成為可執行檔案。如果是在linux2.6系統上面進行編譯的話,需要設定target=linux26以開啟epoll支援,這也是為什麼網上許多部落格裡面都是這麼寫的。對於其他的unix系統來說,直接採用target=generic方式,本文進行安裝的系統為centos7 ,核心3.10版本。
cd haproxy-1.7.8
make
target
=generic
執行完畢之後,目錄下出現haproxy的可執行檔案。
配置環境變數
為方便使用,可以進行環境變數的配置。在/etc/profile中加入haproxy的路徑:
export
path
=$path:/opt/haproxy-1.7.8/haproxy
最後執行source /etc/profile讓此環境變數生效。
haproxy配置檔案說明
haproxy配置檔案通常分為三個部分,即global、defaults和listen。global為全域性配置,defaults為預設配置,listen為應用元件配置。
global為全域性配置部分,屬於程序級別的配置,通常和使用的作業系統配置相關。
defaults配置項配置預設引數,會被應用元件繼承,如果在應用元件中沒有特別宣告,將使用預設配置引數。
haproxy.cfg 配置
0.0.0.0:8001 是外網對映埠
192.168.0.122:3306 內網訪問mysql 的ip 位址和埠
global
#日誌輸出配置,所有日誌都記錄在本機,通過local0輸出
log 127.0.0.1 local0 info
#最大連線數
maxconn 1024
#以守護程序方式執行
daemon
defaults
#應用全域性的日誌配置
#超時配置
timeout connect 5000
timeout client 5000
timeout server 5000
timeout check 2000
listen mysql
bind
0.0.0.0:8001
mode tcp
balance roundrobin
server mysql1 192.168.0.122:3306
這裡需要說明的是,埠對映要考慮到各層的防火牆的影響,如果想要外網訪問到,請把防火牆中的埠開啟
啟動命令: 這個是找下面安裝包中的 haproxy 啟動檔案 和 cfg 配置檔案,我這裡為了方便啟動,寫到了sh 指令碼裡面 每次直接執行,會方便一點
/opt/haproxy-1.7.8/haproxy -f /opt/haproxy-1.7.8/haproxy.cfg
驗證是否啟動成功:
[root@localhost haproxy-1.7.8]
# lsof -i:8888
command pid user fd type device size/off node name
haproxy 45031 root 3u ipv4 228341 0t0 tcp localhost.localdomain:ddi-tcp-1 (listen)
然後就是通過外網訪問mysql 能否訪問就可以了
參考**:
安裝haproxy和haproxy命令
haproxy系列文章 centos自帶了haproxy,但可能版本比較老。可以在ius源上找到最新穩定版的haproxy。cat ius name iusrepo baseurl stable centos releasever basearch gpgcheck 0 enable 1 eofyu...
keepalive啟動後,haproxy啟動失敗
最近搭建mha,keepalive搭建成功虛擬出ip,但是haproxy卻沒有成功啟動監聽埠。原理是 keepalive如果是以master啟動則在5秒鐘以後查檢是否已經正常虛擬出指定ip 如果已正常虛擬出ip,則啟動haproxy。排查 1,確認虛擬出ip以後,手工啟動haproxy,正常監聽埠。...
haproxy安裝配置
haproxy提供高可用性 負載均衡以及基於tcp和http應用的 支援虛擬主機,它是免費 快速並且可靠的一種解決方案。haproxy特別適用於那些負載特大的web站點,這些站點通常又需要會話保持或七層處理。haproxy執行在當前的硬體上,完全可以支援數以萬計的併發連線。並且它的執行模式使得它可以...