nginx转发mysql连接
生活随笔
收集整理的這篇文章主要介紹了
nginx转发mysql连接
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
場景:
訪問UAT環境,只能使用客戶電腦訪問,太難用了,于是就需要在自己電腦上跑代碼,通過客戶電腦中轉來訪問uat環境的數據庫。
選用nginx進行轉發。配置如下:
stream {upstream cloudsocket {hash $remote_addr consistent;server 192.168.182.155:3306 weight=5 max_fails=3 fail_timeout=30s;}server {listen 3306;#數據庫服務器監聽端口proxy_connect_timeout 10s;proxy_timeout 300s;#設置客戶端和代理服務之間的超時時間,如果5分鐘內沒操作將自動斷開。proxy_pass cloudsocket;} }?
重啟。
訪問nginx所在機器的ip和配置的3306端口,輸入賬號密碼,就可以轉發mysql連接了。
注意 stream和http是同級別的,不要放入http里面。
原理,查了一頓,沒整明白,以后有時間在研究。
只有一點點:
nginx從1.9.0開始,新增加了一個stream模塊,用來實現四層協議的轉發、代理或者負載均衡等。比如在內網有一個mysql服務,想暴露到公網上去使用,就可以通過nginx代理的方式通過nginx來進行內網mysql的訪問。
總結
以上是生活随笔為你收集整理的nginx转发mysql连接的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux awk nginx日志分析,
- 下一篇: D-MNSV6-X8|D-MNSV7-X