前言
nginx從1.9.0開始,新增加了一個stream模塊,用來實現四層協議的轉發、代理或者負載均衡等。這完全就是搶HAproxy份額的節奏,鑑於nginx在7層負載均衡和web service上的成功,和nginx良好的框架,stream模塊前景一片光明
用法
stream模塊用法和http模塊差不多,關鍵的是語法幾乎一致。熟悉http模塊配置語法的上手更快
以下是一個配置了tcp負載均衡和udp(dns)負載均衡的例子, 有 server,upstream塊,而且還有server,
hash, listen, proxy_pass等指令
以下是代理TCP和UDP部分樣例
功能點
一 .代理MySql數據庫(TCP方式)
1.MySql:由於網絡權限問題無法直接訪問數據庫所在的服務器,可以通過一臺兩邊都能訪問的服務器作爲反向代理服務器,進行反向代理
如:原數據庫地址爲-》192.168.26.112:3306
現在192.168.26.160:8100代理以上數據庫
stream {
upstream rtmp {
server 192.168.26.112:3306;
}
server {
listen 8100;
proxy_pass rtmp;
proxy_timeout 120s;
}
}
備註:如果配置負責方式可以用權重等方式
server 140.143.11.169:3306 weight=10;
server 182.61.55.179:3306 weight=10;
此時項目數據庫直接配置訪問 192.168.26.160:8100即可