Centos 7配置使用nginx反向代理mysql
阿新 • • 發佈:2022-12-13
背景:由於WEB服務和MySQL資料庫服務分開部署的,由於網路問題限制,有時需要通過中間代理伺服器跳轉連線MySQL,所以需要在中間伺服器上配置代理。
1、新增stearm模組
# nginx通常代理http協議屬於第七層,要代理其他協議就要用到第四層協議,需要用到Nginx的stream模組。
# 檢視nginx是否編譯時添加了stream模組,如下圖
nginx -V
# 如果未新增stream模組,請重新編譯新增
./configure --with-stream
2、配置nginx反向代理
# 在nginx.conf中新增stream模組 stream { include /etc/nginx/stream/*.conf; } # 在nginx安裝路徑下建立stream資料夾,並在下面建立stream的反向代理配置檔案 mkdir -p /etc/nginx/stream cd /etc/nginx/stream vim mysql3306.conf # 在mysql3306.conf中新增代理配置 upstream mysql { server x.x.x.x:3306; } server { listen 3306; proxy_connect_timeout 8s; proxy_timeout 24h; proxy_pass mysql; } # x.x.x.x是你實際伺服器ip地址 # 重啟nginx nginx -c /etc/nginx/nginx.conf
3、防火牆配置
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
4、驗證mysql連線
mysql -h {host} -P 3306 -uroot -p
# 這裡的host為代理伺服器的ip地址