dns + nginx实现负载均衡
2016-11-30 16:33
627 查看
一 搭建环境说明:
2 H5站前端 nginx+tomcat 28180
3 app客户端 nginx+tomcat 28543
二 配置文件更改:
##web的配置文件
##h5配置文件
## app配置文件
按照上面92的操作,在176上面再操作一次(拷贝文件即可),把10.171.132.57都改成[b]10.172.235.86 即可。[/b]
2 Nginx负载端配置详情
在92 上面编辑一个配置文件 vi /usr/local/nginx/conf/vhost/ld.conf
## web端
同样在176上面编辑一个配置文件 vi /usr/local/nginx/conf/vhost/ld.conf跟92的一模一样
这样不管是哪个nginx服务坏了,都可以工作,既实现了负载均衡也实现了高可用
三 验证:
比如当用户访问www.hu.com 这个站点的时候,通过DNS轮询到 Nginx前端,再根据你的配置甩向不同upstream(服务器)如下图:
测试停掉其中一台服务器的nginx看是否可以正常工作
缺点:如果重启nginx会造成3个站点同时启动
服务器公网地址 | 用途 | 服务器内网地址 |
123.56.x.92 | Nginx负载兼web服务 | 10.171.132.57 |
123.57.x.176 | Nginx负载兼Web服务 | 10.172.235.86 |
两台服务器上面分别有三个站点,web,app,h5
1 PC站前端 nginx 802 H5站前端 nginx+tomcat 28180
3 app客户端 nginx+tomcat 28543
负载均衡实现方式和前提
准备用dns轮询解析来实现负载均衡,并且在两台server上面还同时启用了Nginx负载均衡,两台服务器是互为负载。前提是两台web服务端的网站内容一致。二 配置文件更改:
1 三个站点具体配置详情
更改nginx负载服务器上面各个站点的端口##web的配置文件
server { listen 10.171.132.57:81; server_name www.hu.com; index index.html index.htm; root /data/wwwroot/www.hu.com/; }
##h5配置文件
server { listen 10.171.132.57:82; server_name m.hu.com; index index.html index.htm; root /data/wwwroot/m.hu.com/; }
## app配置文件
server { listen 10.171.132.57:83; server_name s.hu.com; index index.html index.htm; root /data/www/nestpc/; location ^~ /nestservice/ { proxy_pass http://10.171.132.57:28080; proxy_set_header Host $host; proxy_set_header X-Real-IP$remote_addr; proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for; proxy_redirect off; } }同理
按照上面92的操作,在176上面再操作一次(拷贝文件即可),把10.171.132.57都改成[b]10.172.235.86 即可。[/b]
2 Nginx负载端配置详情
在92 上面编辑一个配置文件 vi /usr/local/nginx/conf/vhost/ld.conf
## web端
upstream www{ server 10.171.132.57:81; server 10.172.235.86:81 ; ip_hash; } server { listen 80; server_name www.hu.com; location / { proxy_pass http://www/; proxy_set_header Host $host; } }## APP端
upstream s{ server 10.171.132.57:83 ; server 10.172.235.86:83 ; ip_hash; } server { listen 80; server_name s.hu.com; location / { proxy_pass http://s/; proxy_set_header Host $host; } }## h5端
upstream h5{ server 10.171.132.57:82; server 10.172.235.86:82; ip_hash; } server { listen 80; server_name m.hu.com; location / { proxy_pass http://h5/; proxy_set_header Host $host; } }到此,配置文件已经全部配置完毕,可以重启nginx服务了
同样在176上面编辑一个配置文件 vi /usr/local/nginx/conf/vhost/ld.conf跟92的一模一样
这样不管是哪个nginx服务坏了,都可以工作,既实现了负载均衡也实现了高可用
三 验证:
比如当用户访问www.hu.com 这个站点的时候,通过DNS轮询到 Nginx前端,再根据你的配置甩向不同upstream(服务器)如下图:
测试停掉其中一台服务器的nginx看是否可以正常工作
缺点:如果重启nginx会造成3个站点同时启动
相关文章推荐
- 用DNS实现多台服务器作负载均衡
- 用DNS实现多台服务器作负载均衡
- windows使用nginx实现网站负载均衡测试实例
- nginx做反向代理,实现负载均衡基本配置。无法加载css,js或图片
- 使用nginx来负载均衡 本文在window与linux下配置nginx实现负载
- 用DNS实现多台服务器作负载均衡
- nginx实现网站负载均衡测试实例(windows下IIS做负载实测)
- 基于DNS的多机均衡负载的实现
- 用DNS实现多台服务器作负载均衡
- nginx做为反向代理实现负载均衡的例子
- 用DNS实现多台服务器作负载均衡
- rhel5下实现基于DNS的多机均衡负载
- nginx实现网站负载均衡测试实例(windows下IIS做负载实测)
- nginx 作为反向代理实现负载均衡的例子
- nginx 做为反向代理实现负载均衡的例子
- 用DNS实现多台服务器作负载均衡
- Squid做反向加速,配合DNS轮询实现简单负载均衡典型配置
- 实现基于DNS的负载均衡
- nginx做为反向代理实现负载均衡的例子
- nginx+keepalived在ubuntu上实现负载均衡