Tengine 四层代理:

1 ) 安装tengine ( nginx1.9 以上版本 编译以后要支持stream 模块)

1.1 ) tengine(nginx) 一定要是nginx-1.9.X 以上的版本,否则不支持stream功能:
/data/nginx/sbin/nginx -V
Tengine version: Tengine/2.3.2
nginx version: nginx/1.17.3
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
...... 1.2 ) 编译安装tengine-2.3.2 开启的功能略有改变:
wget http://tengine.taobao.org/download/tengine-2.3.2.tar.gz && tar -zxf tengine-2.3.2.tar.gz
cd tengine-2.3.2
./configure --prefix=/data/nginx --user=fmw --group=fmw --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream=dynamic --with-stream_ssl_module --with-stream_realip_module # --with-http_concat_modul 这个参数可能因为是开发版本 还没有加入2.3.2版本,静待后面的正式版本.
# --with-stream --with-stream=dynamic --with-stream_ssl_module --with-stream_realip_module
# 这三个开启的就是nginx的stream 功能. make && make install

2 ) 配置 nginx 的stream 模块 来做TCP代理

2.1 ) 创建配置目录:
mkdir -p /data/nginx/{pid,temp,proxycache
mkdir -p /data/nginx/conf/tcp/
########################### 四层代理的配置 #####################################
## 注意: 1 ) nginx 版本要在1.9 以上, tengine 基于那个版本开发的 去官网查
## 注意: 2 )编译时要加入--with-stream --with-stream_ssl_module --with-stream_realip_module
## 安装好的可以通过 nginx -V 来查看具体编译的参数. 没有加入的重新编译加入即可.
## 注意: 3 )主配置文件一定要引入 nginx_stream_modele.so;
vim tcp.conf stream {
upstream redis_host {
server 10.10.116.206:6379;
} server {
listen 10.10.4.209:6379;
proxy_connect_timeout 5s;
proxy_timeout 5s;
proxy_pass redis_host;
} }
#################################################################################### 2.2 ) 主配置文件:
load_module /data/nginx/modules/ngx_stream_module.so; #这行一定要加上否则会出现stream模块找不到的错误.
user nginx nginx;
worker_processes auto;
worker_cpu_affinity 0001 0010;
pid /data/nginx/pid/nginx.pid;
events {
worker_connections 65536;
use epoll;
accept_mutex on;
multi_accept on;
}
include /data/nginx/conf/tcp/*.conf;
http {
include mime.types;
default_type application/octet-stream;
log_format access_json '{"@timestamp":"$time_iso8601",'
'"host":"$server_addr",'
'"clientip":"$remote_addr",'
'"size":$body_bytes_sent,'
'"responsetime":$request_time,'
'"upstreamtime":"$upstream_response_time",'
'"upstreamhost":"$upstream_addr",'
'"http_host":"$host",'
'"uri":"$uri",'
'"domain":"$host",'
'"xff":"$http_x_forwarded_for",'
'"referer":"$http_referer",'
'"tcp_xff":"$proxy_protocol_addr",'
'"http_user_agent":"$http_user_agent",'
'"status":"$status"}';
access_log /data/nginx/logs/access_json.log access_json;
proxy_cache_path /data/nginx/proxycache levels=1:2:2 keys_zone=proxycache:512m inactive=10m max_size=1g;
sendfile on;
directio 2m;
keepalive_timeout 65 65;
keepalive_requests 3;
client_max_body_size 10m;
client_body_buffer_size 16k;
client_body_temp_path /data/nginx/temp 1 2 2;
keepalive_disable msie6;
open_file_cache max=1000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
server_tokens off;
gzip on;
gzip_comp_level 5;
gzip_min_length 1k;
gzip_types text/plain application/javascript application/x-javascript text/cssapplication/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on; server {
listen 80;
server_name localhost default_server;
charset utf-8;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
location /nginx_status {
stub_status on;
allow 192.168.0.0/16;
allow 127.0.0.1;
allow 172.18.0.0/16;
deny all;
}
error_page 500 502 503 504 404 /50x.html;
location = /50x.html {
root html;
} location ~ /\.password {
deny all;
}
}
}

官方文档:

https://nginx.org/en/docs/stream/ngx_stream_core_module.html

Tengine 四层代理:的更多相关文章

  1. Tengine 反向代理状态检测

    Tengine 反向代理状态检测 安装Tengine: 编译安装./configure --prefix=/usr/loca/nginx make && make install 配置 ...

  2. nginx 的四层代理

    需要编译四层模块 [root@python vhast]# cd ~/nginx-1.15.9/ [root@python nginx-1.15.9]# ./configure --prefix=/d ...

  3. Nginx四层代理

    Nginx支持四层代理 http://nginx.org/en/docs/stream/ngx_stream_core_module.html 该ngx_stream_core_module模块自1. ...

  4. k8s入坑之路(12)ingress-nginx安装配置四层代理

    ingress官方文档地址:http://docs.kubernetes.org.cn/  https://feisky.gitbooks.io/kubernetes/content/plugins/ ...

  5. 基于Netty的四层和七层代理性能方面的一些压力测试

    本文我们主要是想测试和研究几点: 基于Netty写的最简单的转发HTTP请求的程序,四层和七层性能的差异 三种代理线程模型性能的差异,下文会详细解释三种线程模型 池和非池化ByteBuffer性能的差 ...

  6. Nginx的四层和七层代理

    理论部分: 所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器,它一般走的是tcp,udp协议    所谓七层负载均衡,也称为“内 ...

  7. nginx 反向代理和正向代理功能 第六章

    一:Nginx作为正向代理服务器: 1.正向代理:代理(proxy)服务也可以称为是正向代理,指的是将服务器部署在公司的网关,代理公司内部员工上外网的请求,可以起到一定的安全作用和管理限制作用,正向代 ...

  8. Nginx 配置 stream SSL 第四层 代理

    场景:服务器F针对访问终端需要添加白名单操作,由到终端数量较多,所以用了一台代理服务器 P,在服务F中添加 服务器P IP地址的白名单,所有终端访问服务器P 由于我已经安装过 Nginx 所以只需要添 ...

  9. 14、Nginx四层负载均衡

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

随机推荐

  1. Java集合源码分析(九)——HashSet

    简介 HashSet就是一个集合,里面不能有重复的元素,元素也是无序的. HashSet其实就是调用了HashMap实现的,所以,它也不是线程安全的. HashSet通过iterator()返回的迭代 ...

  2. 查看java程序中对象占用空间大小

    需要引入的jar包: <dependency> <groupId>com.carrotsearch</groupId> <artifactId>java ...

  3. linux tar 压缩和解压缩

    tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个. 下面 ...

  4. 用正则怎么将html文件中文字取出进行ASCII码转换?

    用正则怎么将html文件中文字取出?今天碰到这个问题,思来想去尝试了好几种方法,历经一阵头脑风暴,最后终于还是解决了,想想还是来记录一下.一共定义了三个函数,包含正则切割.正则判断对象开头.ASCII ...

  5. unity入门—资源导入与场景创建

    前言: 从这一篇章开始,我将会通过游戏实例来讲解如何使用unity制作一个标准的游戏,介绍的内容较多,需要整理的东西也多可能中途会有一两天的咕咕咕,预计想要完成两个游戏,一个射击类一个塔防类,从射击类 ...

  6. I/O-基本概念

    目录 演变过程 I/O系统基本组成 I/O接口 I/O方式简介 小结 演变过程 I/O系统基本组成 分成软件和硬件 I/O接口 接口可以看作是两个部件之间的交接部分 I/O方式简介 小结

  7. Java JVM——2.类加载器子系统

    概述 类加载器子系统在Java JVM中的位置 类加载器子系统的具体实现 类加载器子系统的作用 ① 负责从文件系统或者网络中加载.class文件,Class 文件在文件开头有特定的文件标识. ② Cl ...

  8. Cloudera Manager API使用

    Cloudera Manager提供了很多API供用户进行访问,因此可以利用其提供的API进行大数据集群中各种服务的状态检测.监控以及服务的启停操作. 版本信息 Cloudera Manager 6. ...

  9. git基本操作(适合新手)

    本人也是刚刚开始学习 大家可以一起交流,大佬可以在教一下 目录 git配置 git本地仓库 SSH提交方式,git提交远程仓库 一.git配置 git config --global user.nam ...

  10. 分析《令人心动的offer2》网友们都在吐槽什么?

    综艺,是我们劳累了一天的放松方式,也是我们饭后的谈资.看着自己喜欢的综艺,时光足够美.而<令人心动的offer >,就是一个不错的综艺选择.有人说它让自己更自卑了,而我觉得挺有意思. &l ...