nginx在1.9版本以前默认没有tcp的4层代理负载均衡,如果要使用的话得添加相应的模块,但是在1.9版本以后居然内置了这样一个功能,那我就得试试了
下载地址暂时省略
编译的时候需要添加如下参数才能放开4层负载均衡
[[email protected] conf]# ../sbin/nginx -v nginx version: nginx/1.9.0 [[email protected] conf]# ../sbin/nginx -V nginx version: nginx/1.9.0 built by gcc 4.1.2 20080704 (Red Hat 4.1.2-55) built with OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008 TLS SNI support disabled configure arguments: --prefix=/usr/local/nginx --with-stream --with-stream_ssl_module
在make && make install 之后就开始编辑配置文件,如下
worker_processes 1; events { worker_connections 1024; } =========================================下面这一部分是最重要的,其他的我都省掉了 stream { upstream abc{ #定义upstream名字为abc server 172.24.11.11:3306; #这是给后台的mysql做代理 } server { listen 3306; #监听本地的3306端口 proxy_pass mysql; #经过3306端口的请求都转发到upstream的abc后台 } }
如何验证?使用mysql -u root -pxxxxxx -h nginx_ip(这个是nginx代理地址的ip),能够登录到后台的mysql就oK,需要注意的是,后台的mysql数据库应该要允许从nginx_ip来的请求
时间: 2024-10-08 16:53:44