環境介紹
使用haproxy作爲兩臺apache服務器的反向代理
系統:CentOS7
haproxy版本:1.4.24
服務器 | IP地址 |
---|---|
haproxy | 192.168.218.4 |
apache1 | 192.168.218.5 |
apache2 | 192.168.218.6 |
部署apache站點
使用yum方式安裝apache
yum -y install httpd
安裝httpd後會自動生成/var/www/html目錄
在該目錄下存放站點網頁,並啓動httpd服務
配置站點1
echo "this is apache1" > /var/www/html/index.html
systemctl restart httpd
配置站點2
echo "this is apache2" > /var/www/html/index.html
systemctl restart httpd
源碼編譯安裝haproxy
安裝haproxy依賴環境
yum install -y \
pcre-devel \
bzip2-devel \
gcc \
gcc-c++ \
make
解壓源碼包
tar xf haproxy-1.4.24.tar.gz
可使用-C參數指定解壓路徑
進入源碼目錄,進行編譯安裝
make TARGET=linux26
make install
創建/etc/haproxy,用於存放配置文件
mkdir /etc/haproxy
# 將源碼包目錄下examples/haproxy.cfg複製到/etc/haproxy/
cp examples/haproxy.cfg /etc/haproxy/
修改配置文件/etc/haproxy/haproxy.cfg,如下圖
將haproxy添加到service服務
# 將源碼目錄下的examples/haproxy.init複製到/etc/init.d/下
cp /root/haproxy-1.4.24/examples/haproxy.init /etc/init.d/haproxy
# 添加執行權限
chmod +x /etc/init.d/haproxy
# 添加service服務
chkconfig --add /etc/init.d/haproxy
ln -s /usr/local/sbin/haproxy /usr/sbin/
開啓服務
service haproxy start
Starting haproxy (via systemctl): [ OK ]
# 查看服務狀態
netstat -antp|grep haproxy
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2120/haproxy
在瀏覽器中訪問haproxy,我們可以看到haproxy代理了apache的站點
haproxy日誌配置
修改配置文件
重啓haproxy服務
service haproxy restart
創建日誌配置
vim /etc/rsyslog.d/haproxy.conf
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.service
systemctl restart rsyslog.service
瀏覽器多刷新幾次後,增加了訪問日誌,再查看日誌文件/var/log/haproxy/haproxy-info.log
就能看到測試的訪問請求