Nginx1.9开始支持tcp层的转发,通过stream实现的,而socket也是基于tcp通信。

stream模块默认不安装的,需要手动添加参数:–with-stream,官方下载地址:download,根据自己系统版本选择nginx1.9或以上版本

./configure --add-module=../yaoweibin-nginx_tcp_proxy_module-121c026              

1、Nginx安装:参考https://www.cnblogs.com/toov5/p/9902692.html   安装支持TCP协议的四层负载均衡Nginx

下载   wget http://nginx.org/download/nginx-1.9.10.tar.gz

解压  tar -xzvf nginx-1.9.0.tar.gz

补丁命令安装   yum -y install patch

打补丁  patch -p1 <  ../yaoweibin-nginx_tcp_proxy_module-121c026/tcp.patch

编译Nginx

./configure --add-module=../yaoweibin-nginx_tcp_proxy_module-121c026

make && make install

报错:

[root@joe nginx-1.9.0]# make && make install
make -f objs/Makefile
make[1]: Entering directory `/home/nginx/nginx-1.9.0'
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I ../yaoweibin-nginx_tcp_proxy_module-121c026/modules -I ../yaoweibin-nginx_tcp_proxy_module-121c026/parsers -I ../yaoweibin-nginx_tcp_proxy_module-121c026 -I objs -I src/http -I src/http/modules -I src/mail -I src/stream \
-o objs/addon/yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.o \
../yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.c
../yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.c: 在函数‘ngx_tcp_upstream_connect’中:
../yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.c:374: 错误:‘ngx_peer_connection_t’没有名为‘check_index’的成员
../yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.c:374: 错误:‘NGX_INVALID_CHECK_INDEX’未声明(在此函数内第一次使用)
../yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.c:374: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
../yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.c:374: 错误:所在的函数内也只报告一次。)
../yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.c:375: 错误:‘ngx_peer_connection_t’没有名为‘check_index’的成员
../yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.c: 在函数‘ngx_tcp_upstream_next’中:
../yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.c:520: 错误:‘ngx_peer_connection_t’没有名为‘check_index’的成员
../yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.c:520: 错误:‘NGX_INVALID_CHECK_INDEX’未声明(在此函数内第一次使用)
../yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.c:521: 错误:‘ngx_peer_connection_t’没有名为‘check_index’的成员
../yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.c:522: 错误:‘ngx_peer_connection_t’没有名为‘check_index’的成员
../yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.c: 在函数‘ngx_tcp_upstream_finalize_session’中:
../yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.c:576: 错误:‘ngx_peer_connection_t’没有名为‘check_index’的成员
../yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.c:576: 错误:‘NGX_INVALID_CHECK_INDEX’未声明(在此函数内第一次使用)
../yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.c:577: 错误:‘ngx_peer_connection_t’没有名为‘check_index’的成员
../yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.c:578: 错误:‘ngx_peer_connection_t’没有名为‘check_index’的成员
make[1]: *** [objs/addon/yaoweibin-nginx_tcp_proxy_module-121c026/ngx_tcp_upstream.o] 错误 1
make[1]: Leaving directory `/home/nginx/nginx-1.9.0'
make: *** [build] 错误 2  

原因:不是最新补丁

解决:

  1. wget https://github.com/yaoweibin/nginx_tcp_proxy_module/archive/master.zip

2.patch -p1 </home/nginx/patch/nginx_tcp_proxy_module-master/tcp.patch    (绝对目录)

3.  ./configure --add-module=/home/nginx/patch/nginx_tcp_proxy_module   (nginx目录里面操作)

解决完毕:

继续  ./configure --add-module=../yaoweibin-nginx_tcp_proxy_module-121c026

然后  make && make install

安装Nginx四层负载均衡的更多相关文章

  1. nginx四层负载均衡配置

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

  2. Nginx四层负载均衡概述

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

  3. Nginx四层负载均衡

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

  4. 14、Nginx四层负载均衡

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

  5. 14.Nginx四层负载均衡

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

  6. [转]CENTOS 6.5 配置YUM安装NGINX+服务器负载均衡

    原文连接: CENTOS 6.5 配置YUM安装NGINX  http://blog.sina.com.cn/s/blog_69f467b70102uyux.html 参考博文: Centos下安装. ...

  7. Docker安装nginx以及负载均衡

    首先在linux系统中新建一个data文件夹进行nginx容器的创建--即为:mkdir data. 一:第一次 1 第一步: 使用 docker pull nginx将nginx的镜像从仓库下载下来 ...

  8. Nginx 四层负载均衡

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

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

    Linux Disibutaion:Ubuntu 16.04.1 LTS Web Server:Nginx.Kestrel 关于如何在linux中部署asp.net core我这里不再详细介绍,可以参 ...

随机推荐

  1. Codeforces Gym - 101147G The Galactic Olympics

    Discription Altanie is a very large and strange country in Mars. People of Mars ages a lot. Some of ...

  2. maven命令行创建project

    创建普通java project: mvn archetype:generate -DgroupId=com.vincent -DartifactId=Java_Project -DpackageNa ...

  3. WEBLOGIC启动后,重启后控制台进入缓慢、延迟,探查WEBLOGIC

    本文说的是解决过程,可直接点击本行略过探查内容,跳到最后的解决办法!! 现象: 1.WEBLOGIC安装在 CENTOSopenSUSE 等LINUX或者UNIX机器上,无论是虚拟机或者PC或者服务器 ...

  4. mac下mysqldump找不到命令

    之所以会出现MySQL或者mysqldump这样的命令找不到, 我们可以打开/usr/bin文件夹,发现bin目录中并没有mysql打头的UEF文件, 而在/usr/local/mysql/bin中可 ...

  5. 醒醒吧少年,只用Cucumber不能帮助你BDD

    转载:http://insights.thoughtworkers.org/bdd/ 引言 在Ruby社区中,测试和BDD一直是被热议的话题,不管是单元测试.集成测试还是功能测试,你总能找到能帮助你的 ...

  6. Item 51:写new和delete时请遵循惯例

    Item 51: Adhere to convention when writing new and delete. Item 50介绍了怎样自己定义new和delete但没有解释你必须遵循的惯例. ...

  7. Unity开发规范(个人习惯,仅供參考)

    近期整理了一下unity里的文件夹使用和脚本上的一些规范,这个看个人习惯,仅供參考 1.unity中的Project文件夹      总体文件夹大致例如以下:            按资源种类分目录. ...

  8. VueJS数据绑定文本显示:{{message}}

    HTML <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...

  9. ffmpeg 内存池

    ffmpeg 部分内存管理采用 了内存池技术.基本的接口在libavutil目录下的buffer.c文件中实现: 1. av_buffer_pool_init 初始化 内存池 2 av_buffer_ ...

  10. 使用 Kingfisher 处理网络图片的读取与缓存

    Kingfisher 是一个读取网络图片和处理本地缓存的开源库,由 onevcat 开发.提到图片缓存库,那么熟悉 Objective-C 开发的同学,可能会想起 SDWebImage. 没错,Kin ...