- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实用标准文案
精彩文档
Nginx 负载均衡配置详解
测试环境
由于没有服务器,所以本次测试直接host指定域名(my.local)
测试域名:my.local
A服务器:81 (主服务器)
B服务器:31
C服务器:30
二、域名解析
由于不是真实环境,域名就随便使用一个my.local用作测试,所以my.local的解析只能在hosts文件设置。
打开:C:\Windows\System32\drivers\etc\hosts
在末尾添加
81?? my.local
保存退出,然后启动命令模式ping下看看是否已设置成功,如下图
Nginx配置
A服务器(主服务器)nginx.conf配置
打开nginx.conf,文件位置在nginx安装目录的conf目录下。
在http段加入以下代码
upstream my.local {
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;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
保存重启nginx(/usr/local/nginx/sbin/nginx -s reload)
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)
测试
当访问my.local的时候,为了区分是转向哪台服务器处理分别在B、C服务器下写一个不同内容的index.html文件,以作区分。
打开浏览器访问my.local结果,刷新会发现所有的请求均分别被主服务器(81)分配到B服务器(31)与C服务器(30)上,实现了负载均衡效果。
B服务器:
C服务器:
假如其中一台服务器宕机会怎样?
当某台服务器宕机了,是否会影响访问呢?
我们先来看看实例,根据以上例子,假设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? 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.conf在末
原创力文档


文档评论(0)