Centos 7配置使用nginx反向代理mysql
背景:由于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地址
本文来自博客园,作者:谭咏麟,转载请注明原文链接:https://www.cnblogs.com/Merbleue/p/16977780.html