前面章节主要讲述Nginx对http协议的支持,这也是Nginx使用最广泛的功能。本节补充讲述Nginx对Stream协议和Mail协议的支持。
Stream支持
Nginx对传输层协议TCP和UDP提供代理和负载均衡支持,同时具备健康检查、动态配置等能力。
TCP负载均衡
针对传输层tcp协议的数据包进行代理和负载均衡。
配置代码:
# stream表示针对tcp协议配置,同http同等为止
stream {upstream mysql_read {#lb_mode:负载均衡方式,默认是轮询。具体见后面对应章节[lb_mode]#server参数同http模块server read1.example.com:3306 weight=3; server read2.example.com:3306;server 192.168.10.10:3306 backup;}server {listen 3306;proxy_pass mysql_read;}
}
这个示例是用nginx做mysql读数据库的负载均衡。
注意:如果采用目录下定义配置文件,不能在conf.d目录下建文件(这个是默认用于http协议的),应该另行创建名为 stream.conf.d 的文件夹具体配置如下:
1、在 /etc/nginx/nginx.conf 配置文件中:
stream {include /etc/nginx/stream.conf.d/*.conf;
}
2、建