本文共 3589 字,大约阅读时间需要 11 分钟。
ngx_http_proxy_module:proxy代理模块,用于把请求后抛给服务器节点或upstream服务器池。
ngx_http_upstream_module:负载均衡模块,可以实现网站的负载均衡功能及节点的健康检查。upstream server_pools { #ip_hash; server 10.3.151.34:81 weight=1; server 10.3.151.246:81 weight=1; }
upstream:是关键字必须要有。
server_pools:为一个upstream集群组的名字,可以自己定义,调用时使用。server:关键字必须要有,后面可以接域名或IP,如果不指定端口,默认是80端口。weight:代表服务器权重,默认值是1,权重数字越大表示接受的请求比例越大。ip_hash:根据客户端IP的hash结果分配,解决动态网页的session共享问题,当负载调度算法为ip_hash时,后端服务器在负载均衡调度中不能使用weight和backup。proxy:设置http请求header 项传给后端服务器节点,例如:可实现让代理后端的服务器节点获取到访问客户端用户的真实IP地址。
client_body_buffer_size:用于指定客户端请求主体缓冲区大小,此处如了解前文的http请求包的原理就好理解了。proxy_connection_timeout:表示反向代理与后端节点服务器连接的超时时间,即发起握手等候响应的超时时间。proxy_send_timeout:表示代理后端服务器的数据回传时间,即在规定时间之内后端服务器必须传完所有的数据,否则,nginx将断开这个连接。proxy_read_timeout:设置nginx从代理的后端服务器获取信息时间,表示连接建立成功后,nginx等待后端服务器的响应时间,其实是nginx已经进入后端的排队之中等候处理的时间。proxy_buffer_size:设置缓冲区大小,默认该缓冲区大小等于指令proxy_buffers设置的大小。web1:10.3.151.34 (安装:nginx,端口监听:80,Server name:www.kang.com)
web2:10.3.151.246 (安装:nginx,端口监听:80,Server name:www.kang.com)客户端:10.3.151.86worker_processes 1;events { worker_connections 1024;}error_log logs/error.log;http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; upstream server_pools { #负载均衡服务器 server 10.3.151.34:81 weight=1; server 10.3.151.246:81 weight=1; }server { listen 80; server_name www.kang.com; location / { proxy_pass http://server_pools; #proxy_pass 转发 } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } server { listen 81; server_name www.kang.com; location / { root html; index index.html index.htm; #index.html 内容为:10.3.151.34 WWW SERVER } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } #include vhost/*.conf;}
worker_processes 1;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream server_pools { #负载均衡服务器 server 10.3.151.34 weight=1; server 10.3.151.246:81 weight=1; } server { listen 80; server_name www.kang.com; location / { proxy_pass http://server_pools; #proxy_pass转发 } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } server { listen 81; server_name www.kang.com; location / { root html; index index.html index.htm; #index.html内容:10.3.151.246 WWW SERVER } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }}
[root@Auto-Operation ~]# for n in `seq 100`; do curl www.kang.com; sleep 1 ;done #分别轮询访问两台服务器10.3.151.34 WWW SERVER10.3.151.246 WWW SERVER10.3.151.34 WWW SERVER
转载于:https://blog.51cto.com/12965094/2145979