预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Nginx负载均衡配置详解 测试环境 由于没有服务器,所以本次测试直接host指定域名(my.local) 测试域名:my.local A服务器:172.16.10.181 (主服务器) B服务器:172.16.10.131 C服务器:172.16.10.130 二、域名解析 由于不是真实环境,域名就随便使用一个my.local用作测试,所以my.local的解析只能在hosts文件设置。 打开:C:\Windows\System32\drivers\etc\hosts 在末尾添加 172.16.10.181my.local 保存退出,然后启动命令模式ping下看看是否已设置成功,如下图 Nginx配置 A服务器(主服务器)nginx.conf配置 打开nginx.conf,文件位置在nginx安装目录的conf目录下。 在http段加入以下代码 upstreammy.local{ ip_hash; #默认可以不加,加上此行则已ip_hash方式进行负载均衡 #weight为权重,数字越大权重越高 server172.16.10.131:80weight=1; server172.16.10.130:80weight=1; } server{ listen80; server_namemy.local; location/{ proxy_passhttp://my.local; proxy_set_headerHost$host; proxy_set_headerX-Real-IP$remote_addr; proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for; } } 保存重启nginx(/usr/local/nginx/sbin/nginx-sreload) B、C服务器nginx.conf设置 打开nginx.conf,文件位置在nginx安装目录的conf目录下。 在http段加入以下代码 server{ listen80; server_namemy.local; indexindex.htmlindex.htmindex.php; root/home/wwwroot/default; } 保存重启nginx (/usr/local/nginx/sbin/nginx-sreload) 测试 当访问my.local的时候,为了区分是转向哪台服务器处理分别在B、C服务器下写一个不同内容的index.html文件,以作区分。 打开浏览器访问my.local结果,刷新会发现所有的请求均分别被主服务器(172.16.10.181)分配到B服务器(172.16.10.131)与C服务器(172.16.10.130)上,实现了负载均衡效果。 B服务器: C服务器: 假如其中一台服务器宕机会怎样? 当某台服务器宕机了,是否会影响访问呢? 我们先来看看实例,根据以上例子,假设C服务器172.16.10.130这台机子宕机了(由于无法模拟宕机,所以我就把C服务器关机)然后再来访问看看。 访问结果则都是下图显示结果: 我们发现,虽然C服务器(172.16.10.130)宕机了,但不影响网站访问。这样,就不会担心在负载均衡模式下因为某台机子宕机而拖累整个站点了。 同一台服务器设置多个域名的负载均衡 多个域名配置和my.local的配置一样。 假设second.local的主服务器IP是172.16.10.181,负载均衡到172.16.10.132和172.16.10.133机器上 现将域名second.local解析到172.16.10.181上。 在主服务器(172.16.10.181)的nginx.conf加入以下代码: upstreamsecond.local{server172.16.10.132:80;server172.16.10.133:80;}server{listen80;server_namesecond.local;location/{proxy_passhttp://second.local;proxy_set_headerHost$host;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;}}保存重启nginx 在172.16.10.132与172.16.10.133机器上设置nginx,打开nginx.conf在末尾添加以下代码: server{ listen80; server_namesecond.local; indexindex.htmlindex.htmindex.php;