Nginx 入门教程(常见模块)

Nginx 入门教程

stream 模块

stream 模块一般用于 tcp/UDP 数据流的代理和负载均衡, 可以通过stream模块代理转发tcp 消息
ngx_stream_core_module 模块由 1.9.0 版提供, 默认情况没有构建此模块, 必须使用 -with stream 配置参数启用

使用场景

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

配置

http{
	...
}

stream{
	log_format basic '$remote_addr [$time_local] '
                 '$protocol $status $bytes_sent $bytes_received '
                 '$session_time';
	access_log  ./logs/stream-access.log basic buffer=32k;
	# 为了让这个配置简洁, 可以将stream 配置放入到  conf.d 中, 并以 .stream 为后缀
	include ./conf.d/*.stream;
}

stream {
	server {
  	listen 8888;
  	proxy_pass 12.23.34.5:8800;
	}
}

# 也可以配合负载均衡进行配置

stream{
	upstream load_server{
  	server localhost:8888;
		server localhost:8889;
	}
	
	server{
  	listen 9999;
  	proxy_pass load_server;
	}
}

# 也可以用作ssh , 实现访问内网服务, 
如: 有两台主机(A,B),在B中又有虚拟机, A可以访问B, 但是不能访问虚拟机,可以通过代理方式进行连接
A ip: 172.16.2.1;
B ip: 172.16.2.69;
虚拟机ip: 172.16.2.44;
stream{

	server{
  	listen 88;
  	proxy_pass 172.16.2.44:22; # 通过代理方式实现 ssh 转发
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小羊Code

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值