##资料
http://nginx.org/download/nginx-1.9.12.tar.gz
nginx 限制
https://www.nginx.com/resources/admin-guide/restricting-access-tcp/
upstream
https://www.nginx.com/resources/admin-guide/load-balancer/
动态添加upstream成员
http://nginx.org/en/docs/http/ngx_http_upstream_conf_module.html?_ga=1.41280548.720695661.1457268407
https://www.nginx.com/resources/admin-guide/load-balancer/
##
1.软件下载(目前最稳定版本):
wget http://nginx.org/download/nginx-1.9.12.tar.gz
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.安装pcre
unzip 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/
本文出自 “杜云龙” 博客,请务必保留此出处http://duyunlong.blog.51cto.com/1054716/1763851
原文地址:http://duyunlong.blog.51cto.com/1054716/1763851