将一台nginx主机当作前端负载均衡服务器,后面通过交换机链接多台web服务器,提供html和php的web界面服务。通过配置前端负载均衡服务器,可以实现将html界面和php界面的分开访问,即html页面一个服务器,php页面使用另一台服务器达到负载均衡的效果。或者:配置多台服务器提供同一个页面的web服务,当访问量很大时,可以均衡web服务器的流量,对同一个页面实现负载均衡。
具体配置如下: #vi nginx.conf 在http中添加如下配置 upstream html.dear.com{ server 10.0.8.29:80 weight=1 max_fails=2 fail_timeout=30s; } upstream www.dear.com{ server 10.0.8.32:80 weight=1 max_fails=2 fail_timeout=30s; server 10.0.8.31:80 weight=1 max_fails=2 fail_timeout=30s; } #权重,值相同就平分访问量#最大请求失败次数和失败时间,超出就跳到另一个服务器进行访问。 #以下参数可以根据需求进行设置 #压缩变量设置 gzip on; # gzip_min_length 2k; # gzip_buffers 4 64k; # gzip_http_version 1.1; # gzip_comp_level 5; # gzip_types text/plain application/x-javascript text/css application/xml; # gzip_vary off; ##客户端设置 # client_max_body_size 100m; # client_body_buffer_size 512k; # client_header_timeout 5m; # client_body_timeout 5m; ##代理设置 # proxy_connect_timeout 60; # proxy_read_timeout 60; # proxy_send_timeout 60; # proxy_buffer_size 128k; # proxy_buffers 4 128k; # proxy_busy_buffers_size 128k; # proxy_next_upstream error timeout invalid_header http_500 http_503 http_404; # proxy_temp_file_write_size 128k; # proxy_max_temp_file_size 128k; # proxy_cache_path /tmp/nginx levels=1:2 # keys_zone=one:10m # inactive=7d max_size=10g; 在server中添加如下配置(可以理解为一个server配置就是一个web服务)
location ~ \.php$ {
proxy_pass http://www.dear.com; #此路径由upstream指定。 proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; } #当访问以.php结尾的页面时,就由proxy_pass跳转到www.dear.com进行访问,此页面由前面upstream设置。 location ~ \.html$ { proxy_pass http://html.dear.com; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; } #当访问以.html结尾的页面时,跳转到html.dear.com进行访问。