赞
踩
1、首先机器上要安装好nginx,能访问到如下阶段
2、我的nginx和mysql服务器地址分别为192.168.124.33和192.168.124.32
以下为具体配置
nginx默认安装的时候无法加载流stream模块,需要在启动参数里加上–with-stream。
解决方法:
重新对源文件进行编译、安装,通过添加–with-stream参数指定安装stream模块。
安装stream流
./configure --with-stream
安装以及编译
make & make install
stream模块位于与http模块相同的层次
stream {
upstream cloudsocket {
hash $remote_addr consistent;
# $binary_remote_addr;
server 192.168.124.32:3306 weight=5 max_fails=3 fail_timeout=30s;
}
server {
listen 3306;#数据库服务器监听端口
proxy_connect_timeout 10s;
proxy_timeout 300s;#设置客户端和代理服务之间的超时时间,如果5分钟内没操作将自动断开。
proxy_pass cloudsocket;
}
}
stream {
upstream cloudsocket {
hash $remote_addr consistent;
# $binary_remote_addr;
server 192.168.124.32:3306 weight=5 max_fails=3 fail_timeout=30s;
server 192.168.124.33:3306 backup;
}
server {
listen 3306;#数据库服务器监听端口
proxy_connect_timeout 10s;
proxy_timeout 300s;#设置客户端和代理服务之间的超时时间,如果5分钟内没操作将自动断开。
proxy_pass cloudsocket;
}
}
重启nginx
首先进入文件夹
cd /usr/local/nginx/sbin
./nginx -c /nginx-1.14.2/conf/nginx.conf
./nginx -s reload
如果出现了如下错误:
解决办法:
根据Nginx配置文件查看配置的端口(本文中使用的是80端口),然后根据端口查看端口占用情况
netstat -ntlp|grep 80
使用kill命令杀死占用进程,之后重新启动Nginx
kill -9 7043
当然也可以停止nginx
./nginx -s stop
如果发现2003等连接错误,可能是端口未开放,这里我们打开端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
加上–permanet参数永久生效,如果前面修改了端口号,此处的3306就应改成对应的端口号,然后使用命令重新读取防火墙规则:
firewall-cmd --reload
接下来使用navicat连接测试:
成功!
参考:
https://blog.csdn.net/qq_43666528/article/details/103743662
https://www.cnblogs.com/heruiguo/p/8962243.html#_label2_0
https://blog.kilvn.com/post/nginx-proxy-mysql/
https://blog.csdn.net/u013344860/article/details/83988584
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。