Nginx代理Mysql
10.2.24.161部署nginx,代理10.2.24.191:3306数据库
1. 安装stream模块
nginx默认不会编译stream模块的,需要在编译的时候,指定--with-stream./configure --prefix=xxx --add-module=xxxx --add-module=xxx --with-stream
我在10.2.24.161执行:
./configure --prefix=/opt/local/nginx --with-stream make && make install
--prefix=/opt/local/nginx/
是nginx的执行文件位置,根据自己的服务器的实际情况配置。
2. Nginx配置代理Mysql:
events{
worker_connections 1024;
}
stream { upstream mysqlserver { server 10.2.24.191:3306; } server { listen 33060; #proxy_connect_timeout 10s; #代理时间默认10分钟,在这个时间范围内,没有数据传递,就会关闭连接,如果这个时间设置短,就会在该主机上产生大量的FIN_WAIT2和TIME_WAIT状态的tcp连接,连接的复用率会变低 #proxy_timeout 10m; # 这里的proxy是stream-proxy模块,不是http-proxy proxy_pass mysqlserver; } }
Nginx配置完成以后,需要启动
//软连接 ln -s /usr/local/nginx/sbin/nginx /usr/local/bin nginx -t mkdir logs // 以指定配置文件启动nginx nginx -c /usr/local/nginx/conf/nginx.conf nginx -s stop
启动之后
Navicat连接,主机为nginx服务器ip:10.2.24.161,端口为:33060
成功!
另记:杀掉所有nginx进程
kill -9 `ps -ef|grep nginx|grep -v grep|awk '{print $2}'`
yian