標籤:centos nginx haproxy rsyslog
在測試環境安裝了一下Nginx(作為http伺服器)和HAProxy(反向 Proxy),並配置HAProxy的日誌輸出到/var/log/haproxy.log,筆記一下。
需要說明的是,這裡僅涉及基本的安裝、配置方法,並不涉及生產環境中的具體用法。
一、安裝Nginx
1、準備環境
yum install -y gcc #一般都有yum install -y gcc-c++ #非必須yum install -y pcre pcre-devel #正則匹配yum install -y zlib zlib-devel #gzip壓縮yum install -y openssl openssl-devel #https使用
2、下載(以nginx-1.9.15為例)
cd soft/wget "http://nginx.org/download/nginx-1.9.15.tar.gz"
3、安裝
預設安裝在/usr/local/nginx/下
tar -xzvf nginx-1.9.15.tar.gzcd nginx-1.9.15/./configuremakemake install
4、配置
#設定檔路徑:/usr/local/nginx/conf/nginx.conf
5、啟停
#協助:/usr/local/nginx/sbin/nginx -h#啟動:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf#停止:/usr/local/nginx/sbin/nginx -s stop#重載:/usr/local/nginx/sbin/nginx -s reload#查看版本:/usr/local/nginx/sbin/nginx -v
6、測試
安裝啟動後,發現瀏覽器無法訪問nginx,經排查,是由於防火牆限制,允許存取後正常:
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT/sbin/iptables -L
二、安裝HAProxy
1、安裝
yum install haproxy
2、配置
設定檔位置:
/etc/haproxy/haproxy.cfg
在最後幾行,將後端配置成原生Nginx,如下:
# 實際應用中,會配置多個不同的後端ip,並且會有多個backend服務。#---------------------------------------------------------------------# round robin balancing between the various backends#---------------------------------------------------------------------backend app balance roundrobin server app1 127.0.0.1:80 check server app2 127.0.0.1:80 check server app3 127.0.0.1:80 check server app4 127.0.0.1:80 check
3、啟動
#協助:haproxy -h#啟動:haproxy -f /etc/haproxy/haproxy.cfg#重啟:haproxy -f /etc/haproxy/haproxy.cfg -sf `cat /var/run/haproxy.pid`#版本:haproxy -v
4、測試
設定防火牆(5000為HAProxy連接埠):
/sbin/iptables -I INPUT -p tcp --dport 5000 -j ACCEPT
用瀏覽器訪問HAProxy(連接埠為5000),可以看到最終訪問的是nginx伺服器下的index.html。
三、配置HAProxy日誌輸出
1、配置HAProxy
設定檔位置:
/etc/haproxy/haproxy.cfg
可以保持預設的log項:
log 127.0.0.1 local2
可以根據需要增加日誌格式說明:
log-format <指定格式>
如果改變更配置置,需要重啟生效:
haproxy -f /etc/haproxy/haproxy.cfg -sf `cat /var/run/haproxy.pid`
2、配置rsyslog
設定檔位置:
/etc/rsyslog.conf
去掉這四行的注釋:
# Provides UDP syslog reception$ModLoad imudp$UDPServerRun 514# Provides TCP syslog reception$ModLoad imtcp$InputTCPServerRun 514
為local2添加日誌路徑:
# Save haproxy log to haproxy.loglocal2.* /var/log/haproxy.log
最後重啟rsyslog:
/etc/init.d/rsyslog restart
再次用瀏覽器測試訪問HAProxy,可以看到有日誌輸出到了/var/log/haproxy.log
並且從日誌中還可以看到,HAProxy是輪流訪問後端的app1~app4的,雖然它們都是同一個服務(ip:port)
《完》
本文出自 “11484324” 部落格,請務必保留此出處http://11494324.blog.51cto.com/11484324/1772372
Centos安裝配置HAProxy+Nginx環境