nginx tcp 转发mysql_nginx1.9实现TCP代理转发

1.软件下载(目前最稳定版本):

2.建立nginx运行用户和程序目录:groupadd www

useradd -s /sbin/nologin -g www www

mkdir -p /usr/local/nginx

mkdir -p /usr/local/pcre

mkdir -p /data/nginxlog/

tar xvf nginx1.9.tar

cd /workspace/nginx1.9

3.安装pcreunzip pcre-8.32.zip

cd pcre-8.32

./configure --prefix=/usr/local/pcre --enable-utf8 --enable-pcregrep-libbz2 --enable-pcregrep-libz

make && make install

cd ..

pwd

tar -xvf nginx-1.9.12.tar.gz

cd nginx-1.9.12./configure --user=www --group=www \

--prefix=/usr/local/nginx \

--with-pcre \

--with-pcre=/workspace/nginx1.9/pcre-8.32 \

--with-http_ssl_module \

--with-http_gzip_static_module \

--with-http_stub_status_module  \

--with-stream \

--with-stream_ssl_module \

--sbin-path=/usr/sbin/nginx \

--error-log-path=/data/nginxlog/error.log \

--http-log-path=/data/nginxlog/access.log

4、nginx做个快捷方式ln -s /usr/local/nginx/sbin/nginx/ /usr/sbin/

5、启动nginx

6、实例配置

准备两个mysql实例,详细如下:

server 192.168.100.70:3306 ;

server 192.168.100.71:3306 ;

案例如下:1、nginx 主配置文件nginx.conf添加内容如下:

events {

worker_connections  1024;

}

stream {

include /usr/local/nginx/conf/stream_conf/*.conf;

limit_conn_zone $binary_remote_addr zone=ip_addr:10m;

#定义限制IP连接数名称,与大小 $binary_remote_addr以2进制存放远程地址

}

2、然后建立相应目录

mkdir -p /usr/local/nginx/conf/stream_conf/

cd /usr/local/nginx/conf/stream_conf/

3、vim mysql3306.conf配置文件如下:

upstream db {

hash $remote_addr consistent;

#iphash根据访问地址分配到固定的后端服务器。

server 192.168.100.70:3306;

server 192.168.100.71:3306;

}

server {

listen 3306;

proxy_pass db;

proxy_connect_timeout 1s;

#快速故障检查

proxy_timeout 3s;

#设置超时时间,连接将超时断开。

proxy_download_rate 1k;

#限制下载速度为1k

proxy_upload_rate   10k;

#限制上传速度为10k

limit_conn ip_addr 1;

##是限制每个IP只能发起1个连接 (addr 要跟 limit_conn_zone 的变量对应)

allow 127.0.0.1;

#acl,设置允许访问IP地址;

deny all;

}

健康检查、负载配置参考

https://www.nginx.com/resources/admin-guide/tcp-load-balancing/

资料

nginx 限制

upstream

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值