nginx 反向代理mysql及redis(TCP反向代理) 反向代理多個服務器


stream {        #定義stream;TCP模塊是和HTTP一樣的一個獨立模塊,所以不能設置在HTTP里面。
   upstream mysql-server {    #定義后端服務器
       server 192.168.38.37:3306 max_fails=3 fail_timeout=30s;     #定義具體server
   }

   upstream redis-server {
       server 192.168.38.47:6379 max_fails=3 fail_timeout=30s;
   }

   server {     #定義server
       listen 3306;                  #監聽本機所有IP的3306端口
       proxy_connect_timeout 30s;    #連接超時時間
       proxy_timeout 30s;            #轉發超時時間
       proxy_pass mysql-server;      #轉發到具體服務器組
   }

   server {
       listen 192.168.38.27:6379;    #監聽在本機的192.168.38.27的6379端口
       proxy_connect_timeout 30s;
       proxy_timeout 30s;
       proxy_pass redis-server;
   }
}
TCP反向代理是基於IP和端口號;這個設置不要設置在http模塊中,tcp和http是兩個獨立的模塊,不要設置在一起。

  

示例配置:

stream{
    #proxy 192.168.1.222
	upstream proxy222{
        server 192.168.1.222:502 weight=1 max_fails=2 fail_timeout=60s;
    }
	server{
			listen 512;
			proxy_connect_timeout 30s;
			proxy_timeout 30s;
			proxy_pass proxy222;
	}
	#proxy 192.168.1.224
    upstream proxy224{
        server 192.168.1.224:502 weight=1 max_fails=2 fail_timeout=60s;
    }
	server{
			listen 513;
			proxy_connect_timeout 30s;
			proxy_timeout 30s;
			proxy_pass proxy224;
	}
	#proxy 192.168.1.225
    upstream proxy225{
        server 192.168.1.225:502 weight=1 max_fails=2 fail_timeout=60s;
    }
	server{
			listen 514;
			proxy_connect_timeout 30s;
			proxy_timeout 30s;
			proxy_pass proxy225;
	}
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM