【Nginx】四層負載均衡配置


一、概述

  Nginx1.9之后,開始支持四層負載均衡,需要引入額外的模塊

二、配置

2.1 環境准備

#測試環境 CentOS7
#Nginx1.9開始支持tcp層的轉發,通過stream實現的,而socket也是基於tcp通信。 

2.2 安裝及配置

1).下載Nginx

wget http://nginx.org/download/nginx-1.9.10.tar.gz
#作用:實現反向代理、負載負載庫

2).下載nginx_tcp_proxy_module 插件

wget https://github.com/yaoweibin/nginx_tcp_proxy_module/tarball/master
tar -zxvf master
#nginx 支持TCP轉發和負載均衡的支持

3).編譯Nginx

#編譯Nginx
#1.解壓nginx文件
tar -zxvf nginx-1.9.10.tar.gz
#2.進入到Nginx目錄
cd nginx-1.9.10
#3.下載tcp.patch最新補丁
patch -p1 <  ../yaoweibin-nginx_tcp_proxy_module-b8a3028/tcp.patch
#如果報錯
-bash: patch: 未找到命令 執行 yum -y install patch 安裝即可。
#4.編譯Nginx
./configure --add-module=../yaoweibin-nginx_tcp_proxy_module-121c026

#5.
make && make install 
#如果報錯
    In file included from ../nginx_tcp_proxy_module-master/ngx_tcp.h:32,
                     from ../nginx_tcp_proxy_module-master/ngx_tcp.c:5:
    ../nginx_tcp_proxy_module-master/ngx_tcp_upstream.h:144: error: expected specifier-qualifier-list before 'ngx_resolver_addr_t'
    make[1]: *** [objs/addon/nginx_tcp_proxy_module-master/ngx_tcp.o] Error 1
    make[1]: Leaving directory `/opt/apps_install/nginx-1.9.9'
    make: *** [build] Error 2
    
# 修改第三方模塊包里的頭文件,ngx_tcp_upstream.h 144 行將ngx_resolver_addr_t 改為 ngx_addr_t
cd /usr/local/yaoweibin-nginx_tcp_proxy_module-121c026 
vi  ngx_tcp_upstream.h
:set number #使vi編輯器顯示行數


 


#5.繼續 make && make install

4).修改Nginx.conf配置文件

worker_processes  1;
events {
    worker_connections  1024;
}
    
### 修改為TCP模塊
tcp {
   
   ### 定義多個上游服務器
   upstream  haoworld{
      ### 定義TCP模塊上游服務器
      server 192.168.0.104:8001;
      server 192.168.0.104:8002;
   }
    server {
        listen       9999;
        server_name  192.168.140.133;
        ### 反向代理upstream
        proxy_pass haoworld;
    }
}

5).測試

測試之前關閉linux防火牆
需要用TCP/UDP測試工具 測試


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM