nginx和mysql鏈接_nginx轉(zhuǎn)發(fā)mysql連接

場(chǎng)景:

訪問UAT環(huán)境,只能使用客戶電腦訪問,太難用了,于是就需要在自己電腦上跑代碼,通過客戶電腦中轉(zhuǎn)來訪問uat環(huán)境的數(shù)據(jù)庫(kù)。

選用nginx進(jìn)行轉(zhuǎn)發(fā)。配置如下:

stream {
    upstream cloudsocket {
       hash $remote_addr consistent;
       server 192.168.182.155:3306 weight=5 max_fails=3 fail_timeout=30s;
    }
    server {
       listen 3306;#數(shù)據(jù)庫(kù)服務(wù)器監(jiān)聽端口
       proxy_connect_timeout 10s;
       proxy_timeout 300s;#設(shè)置客戶端和代理服務(wù)之間的超時(shí)時(shí)間,如果5分鐘內(nèi)沒操作將自動(dòng)斷開。
       proxy_pass cloudsocket;
    }
}

重啟。

訪問nginx所在機(jī)器的ip和配置的3306端口,輸入賬號(hào)密碼,就可以轉(zhuǎn)發(fā)mysql連接了。

注意 stream和http是同級(jí)別的,不要放入http里面。

原理,查了一頓,沒整明白,以后有時(shí)間在研究。

只有一點(diǎn)點(diǎn):

nginx從1.9.0開始,新增加了一個(gè)stream模塊,用來實(shí)現(xiàn)四層協(xié)議的轉(zhuǎn)發(fā)、代理或者負(fù)載均衡等。比如在內(nèi)網(wǎng)有一個(gè)mysql服務(wù),想暴露到公網(wǎng)上去使用,就可以通過nginx代理的方式通過nginx來進(jìn)行內(nèi)網(wǎng)mysql的訪問。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容