Ngin负载均衡配置.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、测试环境 Nginx 负载均衡配置详解 由于没有服务器,所以本次测试直接 由于没有服务器,所以本次测试直接 host 指定域名(my.local) 测试域名:my.local 测试域名:my.local A 服务器:81 B 服务器:31 (主服务器) 二、域名解析由于不是真实环境,域名就随便使用一个my.local 用作测试,所以 my.local 的解析只能在 hosts 文件设置。打开:C:\Windows\System32\drivers\etc\hosts 二、域名解析 由于不是真实环境,域名就随便使用一个my.local 用作测试,所以 my.local 的解析只 能在 hosts 文件设置。 打开:C:\Windows\System32\drivers\etc\hosts 在末尾添加 81 my.local 保存退出,然后启动命令模式 ping 下看看是否已设置成功,如下图 C 服务器:30 三、Nginx 配置1)A 服务器 三、Nginx 配置 1)A 服务器(主服务器)nginx.conf 配置 upstream my.local { #weight 为权重,数字越大权重越高ip_hash; #默认可以不加,加上此行则已 ip_hash 方式进行负载均衡 #weight 为权重,数字越大权重越高 server 31:80 weight=1; server 30:80 weight=1; } server{ listen 80; server_name my.local; location / { proxy_pass http://my.local; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; 四、测试当访问 四、测试 当访问 my.local 的时候,为了区分是转向哪台服务器处理分别在 B、C 服务器下写一个 不同内容的 index.html 文件,以作区分。 打开浏览器访问 my.local 结果,刷新会发现所有的请求均分别被主服务器 (81)分配到 B 服务器(31)与 C 服务器(30) 上,实现了负载均衡效果。 B 服务器: C 服务器: proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 保存重启 nginx(/usr/local/nginx/sbin/nginx -s reload) 2)B、C 服务器 nginx.conf 设置打开 2)B、C 服务器 nginx.conf 设置 打开 nginx.conf,文件位置在 nginx 安装目录的 conf 目录下。 在 http 段加入以下代码 server{ listen 80; server_name my.local; index index.html index.htm index.php; root /home/wwwroot/default; } 保存重启 nginx (/usr/local/nginx/sbin/nginx -s reload) 假如其中一台服务器宕机会怎样? 当某台服务器宕机了,是否会影响访问呢? 我们先来看看实例,根据以上例子,假设 C 服务器 30 这台机子宕机了(由于无法模拟宕机,所以我就把C 服务器关机)然后再来访问看看。 访问结果则都是下图显示结果: 我们发现,虽然C 服务器(30)宕机了,但不影响网站访问。这样,就不会担心在负载均衡模式下因为某台机子宕机而拖累整个站点了。 五、同一台服务器设置多个域名的负载均衡 多个域名配置和 my.local 的配置一样。 假设 second.local 的主服务器 IP 是 81,负载均衡到 32 和33 机器上 现将域名 second.local 解析到 81 上。 在主服务器(81)的 nginx.conf 加入以下代码: upstream second.local { server 32:80; server server 33:80; } server{ listen 80; server_name second.local; location / { proxy_pass http://second.local; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 保存重启 nginx 在 32 与 33 机器上设置 nginx,打开 nginx.con

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地湖北
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档