【Nginx】四层负载均衡配置

  • 一、概述
  • 二、配置
    • 2.1 环境准备
    • 2.2 安装及配置
      • 1).下载Nginx
      • 2).下载nginx_tcp_proxy_module 插件
      • 3).编译Nginx
      • 4).修改Nginx.conf配置文件
      • 5).测试

一、概述

  Nginx1.9之后,开始支持四层负载均衡,需要引入额外的模块

二、配置

2.1 环境准备

#测试环境 CentOS7
#Nginx1.9开始支持tcp层的转发,通过stream实现的,而socket也是基于tcp通信。
#stream模块默认不安装的,需要手动添加参数:–with-stream,官方下载地址:#download,根据自己系统版本选择nginx1.9或以上版本
./configure --add-module=../yaoweibin-nginx_tcp_proxy_module-b8a3028

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:80001;
      server 192.168.0.104:80002;
   }
    server {
        listen       9999;
        server_name  192.168.140.133;
        ### 反向代理upstream
        proxy_pass haoworld;
    }
}

5).测试

测试之前关闭linux防火墙
需要用TCP/UDP测试工具 测试

原文地址:https://www.cnblogs.com/haoworld/p/nginx-si-ceng-fu-zai-jun-heng-pei-zhi.html

时间: 2024-08-03 22:23:07

【Nginx】四层负载均衡配置的相关文章

nginx四层负载均衡配置

nginx四层负载均衡配置代理Mysql集群 环境如下: ip 192.168.6.203 Nginx ip 192.168.6.*(多台) Mysql 步骤一 查看Nginx是否安装stream模块 没安装则进行安装 操作步骤如下 至此 已保证在没中断服务的情况下成功添加stream模块 步骤二 配置 mysql负载均衡案例 修改Nginx配置文件nginx.conf 内容如下图 测试步骤如下 后端Mysql需做好读写分离 创建好相应权限的用户 到客户端连接Nginx创建wuguiyunwei

Nginx+Tomcat负载均衡配置

Tomcat安装:#官方网站下载tomcat 6.0.30或者其他版本: cd /usr/src && tar xzf apache-tomcat-6.0.30.tar.gz #直接解压就可以使用,解压完成执行,同时拷贝两个tomcat,命名为tomcat1 tomcat2 mv apache-tomcat-6.0.30 /usr/local/tomcat1 cp /usr/local/tomcat1 /usr/local/tomcat2 -r #分别修改tomcat1和tomcat2 端

CentOS6.5安装nginx及负载均衡配置

所有的安装包可以去以下地址下载,或者自行去官网下载,下面都有介绍. 所有安装包地址:http://download.csdn.net/detail/carboncomputer/9238037 原文地址:http://www.cnblogs.com/zhongshengzhen/p/nginx.html 1.下载PCRE, 是一个用C语言编写的正则表达式函数库 [[email protected] pcre-8.36]# cd /tmp/download/ [[email protected]

linux+asp.net core+nginx四层负载均衡

Linux Disibutaion:Ubuntu 16.04.1 LTS Web Server:Nginx.Kestrel 关于如何在linux中部署asp.net core我这里不再详细介绍,可以参考ASP.Net Core 运行在Linux(Ubuntu) 这里我需要三台VM:nginxvm01:做负载均衡服务器nginxvm02:服务节点1nginxvm03:服务节点2 大致服务架构如下图: 配置负载均衡节点(nginxvm01): sudo apt-get install -y ngin

Nginx的负载均衡配置

名词解释,网络搜索结果 正向代理(Forward Proxy): 客户端[用户A]和原始服务器(origin server)[服务器B]之间的服务器[代理服务器Z],为了从原始服务器取得内容,用户A向代理服务器Z发送一个请求并指定目标(服务器B),然后代理服务器Z向服务器B转交请求并将获得的内容返回给客户端.客户端必须要进行一些特别的设置才能使用正向代理. 反向代理(Reverse Proxy): 反向代理正好与正向代理相反,对于客户端而言代理服务器就像是原始服务器,并且客户端不需要进行任何特别

Linux记录-Nginx+Tomcat负载均衡配置

Nginx负载均衡配置及策略: 轮询(默认) 优点:实现简单缺点:不考虑每台服务器的处理能力配置示例如下:upstream www.xxx.com {# 需要负载的server列表server www.xxx.com:8080;server www.xxx.com:9080;}权重,使用的较多的策略优点:考虑了每台服务器处理能力的不同,哪台机器性能高就给哪台机器的权重高一些配置示例如下:upstream www.xxx.com {# 需要负载的server列表,weight表示权重,weight

配置Nginx四层负载均衡

nginx 支持TCP转发和负载均衡的支持 实现下面的架构: 看配置: #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } tcp { upstream toov5{ server 1

Nginx + Tomcat 负载均衡配置详解

Nginx作为反向代理服务器,实现负载均衡.首先浏览器发起请求,到达Nginx,由Nginx将请求地址转发给相应的tomcat服务器,再由tomcat服务器将结果返回给Nginx,Nginx将结果再转发给浏览器. 在这过程中,对于浏览器来说,并不知道后端的存在, 相对于Tomact来说,当前的客户端是Nginx服务器.这就完成了一个代理的过程. 首先准备三台Linux服务器:IP地址分别为 192.168.1.61  192.168.1.62  192.168.1.63 其中61安装nginx服

Exxchange2013 NLB四层负载均衡配置(四)

下面开始为CAS01和CAS01两台服务器做NLB负载均衡,首先分别再两台服务器上安装[网络负载平衡功能]: 打开[网络负载平衡管理器],在管理器界面右键选择"新建群集" 输入CAS01的主机IP地址[点击连接],选择"本地连接"[单击下一步]:在主机参数界面保持默认[点击下一步] 设置"群集IP地址"输入群集IP地址172.19.33.22,添加完成后点击下一步: 群集参数设置,在"完整Internet名称"中输入mail.