Centos安裝配置HAProxy+Nginx環境

來源:互聯網
上載者:User

標籤: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環境

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.