一、概述

  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测试工具 测试

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

  1. nginx四层负载均衡配置

    nginx四层负载均衡配置代理Mysql集群 环境如下: ip 192.168.6.203 Nginx ip 192.168.6.*(多台) Mysql 步骤一 查看Nginx是否安装stream模块 ...

  2. 14、Nginx四层负载均衡

    1.Nginx四层负载均衡基本概述 1.1.什么是四层负载均衡 四层负载均衡基于传输层协议包来封装的(如:TCP/IP),那我们前面使用到的七层是指的应用层,它的组装在四层基础之上,无论四层还是七层都 ...

  3. Nginx四层负载均衡概述

    目录 Nginx四层负载均衡概述 什么是负载均衡 负载均衡应用场景 四层,七层集群架构 四层负载均衡总结 Nginx如何配置四层负载均衡 nginx四层负载均衡端口转发 Nginx四层负载均衡概述 什 ...

  4. Nginx四层负载均衡

    目录 Nginx四层负载均衡概述 Nginx如何配置四层负载均衡 使用nginx四层负载均衡实现tcp的转发 Nginx四层负载均衡概述 什么是四层负载均衡 四层负载均衡是基于传输层协议包来封装的(如 ...

  5. Nginx安装负载均衡配置 fair check扩展

    前言 本文主要是针对Nginx安装.负载均衡配置,以及fair智能选举.check后端节点检查扩展功能如何扩展,进行讲解说明. fair模块: upstream-fair,“公平的”Nginx 负载均 ...

  6. Nginx + Tomcat 负载均衡配置详解

    Nginx常用操作指南一.Nginx 与 Tomcat 安装.配置及优化1. 检查和安装依赖项 yum -y install gcc pcre pcre-devel zlib zlib-devel o ...

  7. 14.Nginx四层负载均衡

    1.七层负载均衡: 根据url 调度不同的集群 url.cheng.com 10.0.0.5 10.0.0.7 /pass 10.0.0.8 /user 1.web01和web02配置 (只不过代码不 ...

  8. Nginx之负载均衡配置(二)

    前文我们聊到了nginx作为负载均衡的配置,前端nginx作为调度器调度http或https请求,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12458159 ...

  9. Nginx 四层负载均衡

    目录 四层负载均衡概述 配置七层负载均衡 配置四层负载均衡 四层负载均衡概述 四层负载均衡是基于IP+端口的负载均衡,七层负载均衡是基于URL或主机名等应用层信息的负载均衡. 其他层负载均衡(转载): ...

随机推荐

  1. 插入Oracle数据库后返回当前主键id

    最近做一个spring版本3.0.4的老项目功能,应用场景要用到插入oracle表后返回主键ID拿来和其他表关联. 用oralce的可以一直用这种处理方式,高兼容低,搜索网上的资料都不能和这个Spri ...

  2. Multiple dex files define Lokhttp3/internal/wsWebSocketProtocol

    Multiple dex files define Lokhttp3/internal/wsWebSocketProtocol 老套路,先晒图 图一:如题,在编译打包时遇到了如上错误,很明显这是一个依 ...

  3. (十一)c#Winform自定义控件-列表

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...

  4. npm命令无响应

    npm命令完全无反应,不是加载的那种状态 而是下标不停地在哪里闪... 之后找解决方案,说要删除npmrc文件. 强调:不是nodejs安装目录npm模块下的那个npmrc文件 而是在C:\Users ...

  5. 一份程序猿单词列表(updating)

    以下单词是个人平时阅读英文文档时遇到的一些“生”单词,该文档将持续更新,可以持续关注https://github.com/hylinux1024/word-list-for-programmer hi ...

  6. [HAOI2018]苹果树(组合数学,计数)

    [HAOI2018]苹果树 cx巨巨给我的大火题. 感觉这题和上次考试gcz讲的那道有标号树的形态(不记顺序)计数问题很类似. 考虑如果对每个点对它算有贡献的其他点很麻烦,不知怎么下手.这个时候就想到 ...

  7. 纯数据结构Java实现(5/11)(Set&Map)

    纯数据结构Java实现(5/11)(Set&Map) Set 和 Map 都是抽象或者高级数据结构,至于底层是采用树还是散列则根据需要而定. 可以细想一下 TreeMap/HashMap, T ...

  8. Redis集群环境下的键值空间监听事件实现方案

    一直想记录工作中遇到的问题和解决的方法,奈何没有找到一方乐土,最近经常反思,是否需要记录平时的点滴,后台还是决定下定决心记录一些,以便以后用到的时候找不着,实现这样的一个功能主要也是业务所需要的. 需 ...

  9. 在vue.js引用图片的问题

    <div id="img"> <img src="img.png" class="img"> </div> ...

  10. vi 多行注释与取消

    多行注释 1.在命令行模式下,按 Shift + v 进入 VISUAL LINE 模式 2.选择要注释内容 3.按下 Ctrl + Shift + v 锁定块(XShell中) 或 按下 Ctrl ...