CentOS7 上部署Haproxy及Nginx 搭建Web群集
阿新 • • 發佈:2018-06-24
images 防火 .com 系統 then tar dont -i con HAProxy是一個使用C語言編寫的自由及開放源代碼軟件,其提供高可用性、負載均衡,以及基於TCP和HTTP的應用程序代理,可以運行於大部分主流的Linux操作系統上。
本次實驗使用三臺服務器搭建Web群集,Haproxy作為調度服務器,兩臺Nginx服務器作為節點服務器。
本次實驗使用三臺服務器搭建Web群集,Haproxy作為調度服務器,兩臺Nginx服務器作為節點服務器。
實驗環境
主機 | 系統 | IP地址 | 只要軟件
主機 | 系統 | IP地址 | 主要軟件 |
---|---|---|---|
haproxy服務器 | CentOS-7-x86_64 | 192.168.100.101 | haproxy |
Nginx 服務器 | CentOS-7-x86_64 | 192.168.100.102 | nginx |
Nginx服務器 | CentOS-7-x86_64 | 192.168.100.103 | nginx |
客戶端 | Windows | 192.168.100.100 | IE瀏覽器 |
安裝nginxf服務器
- 安裝便編譯環境
yum -y install pcre-devel zlib-devel gcc gcc-c++ make -y useradd -M -s /sbin/nologin nginx //為其創建管理用戶 tar zxvf nginx-1.12.0.tar.gz -C /opt/ //解壓 ./configure --prefix=/usr/local/nginx \ //安裝路徑 --user=nginx \ //指定管理用戶 --group=nginx //為其編譯 //指定管理組 make && make install //安裝 cd /usr/local/nginx/html/ //存放首頁路徑 vim index.html //修改它也行從新生成一個也可也 echo "this is nginx 1!!" > tast.html //但訪問的是後面要加tast如 http://127.0.0.1/tast ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //創建軟連接,方便管理 nginx -t //檢查配置文件是否正確 nginx //啟動服務 netstat -ntap | grep 80 //查看服務是否正確開啟 關閉防火墻 systemctl disable firewalld.service systemctl stop firewalld.service setenforce 0
自測 兩臺同要的同樣的配置
調度服務器配置
- 安裝haproxy軟件 編譯環境
yum -y install pcre-devel bzip2-devel gcc gcc-c++ make tar zxf haproxy-1.5.19.tar.gz cd haproxy-1.5.19/ make TARGET=linux26 //安裝64位系統 make install
配置haproxy服務器
mkdir /etc/haproxy cp haproxy-1.5.19/examples/haproxy.cfg /etc/haproxy/haproxy.cfg cd /etc/haproxy/ vim haproxy.cfg //修改其配置文件 global log 127.0.0.1 local0 // 日誌格式 和系統日誌保存在一起 log 127.0.0.1 local1 notice //notice 日誌級別 #log loghost local0 info maxconn 4096 //最大鏈接數 chroot /usr/share/haproxy //刪除 uid 99 gid 99 daemon #debug #quiet defaults log global mode http option httplog //寫的日誌文件格式安裝httpd 的格式寫 option dontlognull retries 3 //嘗試次數 3次 如果鏈接不上就認為不可用 redispatch //刪除 maxconn 2000 contimeout 5000 //最大鏈接 clitimeout 50000 srvtimeout 50000 //超時 將listen部分修改為以下內容 listen webcluster 0.0.0.0:80 //指定節點服務 option httpchk GET /test.html //GET 提交方式 訪問時候後面加test.html balance roundrobin server inst1 192.168.100.102:80 check inter 2000 fall 3 server inst2 192.168.100.103:80 check inter 2000 fall 3 cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy //啟動腳本 service haproxy start //啟動服務 然後就可以訪問 多次涮新,nginx1和nginx2網頁輪換顯示。
haproxy的日誌優化
- Haproxy的日誌默認輸出到系統的syslog中。查看起來不是很方便,為了更好的管理haproxy的日誌,我們需要將日誌單獨定義出來
vim /etc/haproxy/haproxy.cfg log /dev/log local0 info //信息提示個告警分離開 log /dev/log local0 notice // 刪除原有的 替換 service haproxy restart
touch /etc/rsyslog.d/haproxy.conf
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
&~
systemctl restart rsyslog.service
CentOS7 上部署Haproxy及Nginx 搭建Web群集