Nginx转发代理请求(http)+转发mysql(stream)
warning:
这篇文章距离上次修改已过197天,其中的内容可能已经有所变动。
在Nginx中,你可以使用stream
模块来转发MySQL连接。以下是一个配置示例,它展示了如何在Nginx中设置转发MySQL流量的基本配置。
首先,确保你的Nginx版本支持stream
模块。然后,编辑Nginx配置文件(通常是/etc/nginx/nginx.conf
),在http
块外部添加stream
块。
stream {
upstream mysql_backend {
server mysql1.example.com:3306;
server mysql2.example.com:3306;
}
server {
listen 3306;
proxy_pass mysql_backend;
proxy_connect_timeout 1s;
}
}
在这个配置中:
upstream mysql_backend
定义了后端MySQL服务器的地址和端口。server
块中的listen 3306
指令告诉Nginx监听3306端口上的MySQL连接。proxy_pass mysql_backend
指令将收到的MySQL连接代理到定义的后端服务器。proxy_connect_timeout 1s
指定了连接到后端服务器的超时时间。
确保在应用配置后重启Nginx服务以使更改生效。
sudo nginx -t # 测试配置是否正确
sudo systemctl restart nginx # 重启Nginx服务
这样就配置好了Nginx来转发来自3306端口的MySQL流量。
评论已关闭