Nginx负载均衡配置_第1页
Nginx负载均衡配置_第2页
Nginx负载均衡配置_第3页
Nginx负载均衡配置_第4页
Nginx负载均衡配置_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Nginx负载均衡配置详解一、测试环境由于没有服务器,所以本次测试直接host指定域名(my.local) 测试域名:my.localA服务器:81(主服务器)B 服务器:31C 服务器:30二域名解析由于不是真实环境,域名就随便使用一个my.local用作测试,所以my.local的解析只能在hosts文件设置。打开:C:WindowsSystem32driversetchosts在末尾添加81 my.local保存退出,然后启动命令模式ping下看看是否已设置成功,如下图-nTNTTRnnxITn 正来未来天Hingf local 81 172.16.IS.1S1 172.1G.10.18

2、1.lbM-色音音 a ?2回回回回 -nTNTTRnnxITn 正来未来天Hingf local 81 172.16.IS.1S1 172.1G.10.181.lbM-色音音 a ?2回回回回 .rY jrr .h-r.1节节节节 lu2 2 2 213 3 3 3 gg =- -0 u 032字节的段据:lms TIL=64lns TIL=G4-Inti: TIL-64=lms UL=b4p连间# 的- 1 已 uIns 9 古国 1 : 11 此包的= 1居程一3- 斯餐 胃返 17住失丢ms045=副 苣理员:C:Windo,s5y5tern32crnd.sxeMicrosoft Ui

3、ndous6.1.76013版权所有 2809 Microsoft Corporation 5保留所有杈利“C U sb r s Sis s us o r Jp in sr my . local三、Nginx配置1 )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

4、;server(listen 80;server_name my.local;location / proxy_pass HYPERLINK http:/my.local http:/my.local;proxy_set_headerHost$host;proxy set headerproxy_pass HYPERLINK http:/my.local http:/my.local;proxy_set_headerHost$host;proxy set headerX-Real-IP$remote addr;proxy_set_header X-Forwarded-For $proxy_ad

5、d_x_forwarded_for;保存重启 nginx (/usr/local/nginx/sbin/nginx -s reload )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),测试当访问my.l

6、ocal的时候,为了区分是转向哪台服务器处理分别在B、C服务器下写一个 不同内容的index.html文件,以作区分。打开浏览器访问my.local结果,刷新会发现所有的请求均分别被主服务器(81)分配到 B 服务器(31)与 C 服务器(30) 上,实现了负载均衡效果。B服务器:分 C D my.local/: Q Postman ? Codeception - 3D., 172. 16. 10. 131C服务器: C D my.local/:应用 R Postman / Co deception - 3D. p 172. 16. 10. 130假如其中一台服务器宕机会怎样?当某台服务器宕机

7、了,是否会影响访问呢?我们先来看看实例,根据以上例子,假设C服务器30这台机子宕机了(由于无法模拟宕机,所以我就把C服务器关机)然后再来访问看看。访问结果则都是下图显示结果:-f C 口 my.Io cal/:应用 & Postman / Co-deception - 3D., 172. 16. 10. 131我们发现,虽然C服务器(30)宕机了,但不影响网站访问。这样,就不 会担心在负载均衡模式下因为某台机子宕机而拖累整个站点了。五、同一台服务器设置多个域名的负载均衡多个域名配置和my.local的配置一样。假设second.local的主服务器IP是81,负载均衡到32和33 机器上现将域

8、名 second.local 解析到 81 上。在主服务器(81)的nginx.conf加入以下代码:upstream second.local server32:80;server32:80;server33:80;server(listen 80;server_name second.local;location / proxy_passproxy_set_headerproxy_set_headerproxy_set_headerserver33:80;server(listen 80;server_name second.local;location / proxy_passproxy

9、_set_headerproxy_set_headerproxy_set_headerHost$host;X-Real-IP$remote_addr;X-Forwarded-For $proxy_add_x_forwarded_for;保存重启nginx在32与33机器上设置nginx,打开nginx.conf在末尾添加 以下代码:server(listen 80;server_name second.local;index index.html index.htm index.php;root /home/wwwroot/default;保存重启nginx完成以上步骤后即可实现second.

10、local的负载均衡配置了。六、主服务器提供服务以上例子中,我们都是应用到了主服务器负载均衡到其它服务器上,那么主服务器本身 能不能也加在服务器列表中,这样就不会白白浪费拿一台服务器纯当做转发功能,而是 也参与到提供服务中来。如以上案例三台服务器:A服务器:81(主服务器)B 服务器:31C 服务器:30我们把域名解析到A服务器,然后由A服务器转发到B服务器与C服务器,那么A服 务器只做一个转发功能,现在我们让A服务器也提供站点服务。我们先来分析一下,如果添加主服务器到upstream中,那么可能会有以下两种情况发 生:1、主服务器转发到了其它IP上,其它IP服务器正常处理;2、主服务器转发到

11、了自己上,然后又进到主服务器分配IP那里,假如一直分配到 本机,则会造成一个死循环。怎么解决这个问题呢?因为80端口已经用来监听负载均衡的处理,那么本服务器上就 不能再使用80端口来处理my.local的访问请求,得用一个新的。于是我们把主服务器 的nginx.conf加入以下一段代码:serverlisten 8081;server_name my.local;index index.html index.htm index.php;root /home/wwwroot/default;重启nginx,在浏览器输入my.local:8081试试看能不能访问。结果可以正常访问 C e my.l

12、acal-8081:应用Q Postman 二 Co dec eption -172. 16.10.1 SI既然能正常访问,那么我们就可以把主服务器添加到upstream中,但是端口要改一 下,如下代码:upstream my.local ip_hash;#默认可以不加,加上此行则已ip_hash方式进行负载均衡#weight为权重,数字越大权重越高server 31:80 weight=1;server 30:80 weight=1;server 81:8081 weight=1;由于这里可以添加主服务器IP 81或者均可以都表示访问自己。重启Nginx,然后再来刷新 访问my.lcoal看看会不会分配到主服务器上。C D my.local应用。Postman ? Codeceptii81主服务器也能正常加入服务了。七、总结1)负载均衡不是nginx独有,著名鼎鼎的叩ache也有,但性能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论