nginx安装及stream流模块的配置

一、stream模块概要。

stream模块一般用于tcp/UDP数据流的代理和负载均衡,可以通过stream模块代理转发TCP消息。 ngx_stream_core_module模块由1.9.0版提供。 默认情况下,没有构建此模块。 -必须使用-with stream配置参数启用。 也就是说,必须在使用./configure --with-stream编译时添加流模块。 流模块的使用方法与http模块相同,语法也基本相同。

二、使用场景说明stream主要有两个可用场景。

一是实现流量的代理转发。 这里所述的代理转发是指,只有一些端口服务被限制为活动IP地址。 例如,mysql账户一般将源地址限制为APP应用服务器,而nginx可能同时是web APP应用服务器。 开发人员需要验证一些数据库数据问题,但帐户的源地址有限制。 此时,通过在nginx中进行流传送,可以实现从开发终端向mysql的访问。 二是实现流量负载均衡。 有多个tcp或udp端口服务,如DNS。 流模块支持负载平衡算法,如轮询、最小连接数和ip_hash,从而实现数据流负载平衡。

三、安装步骤及实例

1.解压nginx压缩包
tar -zxvf nginx-1.16.1.tar.gz

2.指定配置项,–prefix表示安装路径,–with-stream表示添加流模块
./configure --prefix=/usr/local/nginx-my-stream/nginx1.16 --with-stream --with-http_stub_status_module --with-http_ssl_module

3.编译
make

4.安装
make install

5.添加流模块,与http模块同级
常规写法

#oracle 地址映射
#不同地址映射到同一端口
stream {
	upstream oracle_server{
	    server 11.101.2.195:1521;
	    server 11.101.2.21:1521;
	}
	server {
	    listen 1522;
	    proxy_pass oracle_server;
	}
}
#oracle 地址映射
#映射多个端口
stream {
	server {
	    listen 1522;
	    proxy_pass 11.101.2.195:1521;
	}
       
    server {
	    listen 1523;
	    proxy_pass 11.101.2.195:1521;
	}
}

配置了超时的写法

#oracle 地址映射
stream {    
    
    upstream oracle {   
        server 11.101.2.195:1521 weight=1 max_fails=2 fail_timeout=30s;   #原oracle地址
    }
    
    server {
        listen 1522;# 反向代理后监听的端口,nginx启动后访问 服务器ip:1522 就可以访问到oracleA
        proxy_connect_timeout 30s;
        proxy_timeout 30s;
        proxy_pass oracle;
    }
}

6.启动nginx
./nginx -c /usr/local/nginx-my-stream/nginx1.16/conf/nginx.conf

7.完成后可删除压缩包和源文件

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值