Nginx反向代理负载均衡
环境准备:
总共四台机器,两台装有Nginx的机器做负载均衡,两台机器装有Apache作为WEB服务器。
| hostname | IP | 说明 |
| lb01 | 192.168.1.19 | nginx主负载均衡器 |
| lb02 | 192.168.1.16 | nginx辅负载均衡器 |
| web01 | 192.168.1.17 | Apache做web服务器 |
| web02 | 192.168.1.18 | Apache做web服务器 |
配置nginx的配置文件,
这里的nginx的安装是用的yum安装CentOS用yum快速安装nginx
移除掉默认的nginx服务
cd /etc/nginx/conf.d/
mv default.conf default.conf.org
编辑host解析
echo "192.168.1.19 blog.zydev.org" >>/etc/hosts
实验一:实现一个简单的负载均衡
增加一个配置文件
vim /etc/nginx/conf.d/upstream01.conf
upstream blog_real_servers {
server 192.168.1.17 weight=;
server 192.168.1.18 weight=;
}
server {
listen ;
server_name blog.zydev.org;
location / {
proxy_pass http://blog_real_servers;
}
}
重启nginx服务,并测试是否实现负载均衡

测试是成功的,按照1:1实现了转发。
实验2:根据URL中的目录地址实现代理转发(动静分离)
根据URL进行转发的情况,也称为7层的负载均衡配置,lvs是进行在第四层。
在WEB01中:
echo dynamic > /var/www/html/dynamic/index.html
在web02中:
echo static > /var/www/html/static/index.html
在LB01中:
vim /etc/nginx/conf.d/upstream01.conf
pstream dynamic_pools {
server 192.168.1.17: weight=;
}
upstream static_pools {
server 192.168.1.18: weight=;
}
server {
listen ;
server_name blog.zydev.org;
location /static/ {
proxy_pass http://static_pools;
proxy_redirect off;
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_connect_timeout ;
proxy_send_timeout ;
proxy_read_timeout ;
proxy_buffer_size 4k;
proxy_buffers 4k;
proxy_busy_buffers_size 8k;
proxy_temp_file_write_size 64k;
}
location /dynamic/ {
proxy_pass http://dynamic_pools;
proxy_redirect off;
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_connect_timeout ;
proxy_send_timeout ;
proxy_read_timeout ;
proxy_buffer_size 4k;
proxy_buffers 4k;
proxy_busy_buffers_size 8k;
proxy_temp_file_write_size 64k;
}
}
测试访问:

由结果可以看出实现了URL的不同而访问不同的转发。
Nginx反向代理负载均衡的更多相关文章
- Nginx 反向代理 负载均衡 虚拟主机配置
Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...
- Nginx 反向代理 负载均衡 虚拟主机
Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...
- 十.nginx反向代理负载均衡服务实践部署
期中集群架构-第十章-nginx反向代理负载均衡章节章节====================================================================== 0 ...
- 【转】Nginx 反向代理 负载均衡 虚拟主机配置
原文:http://www.cnblogs.com/itdragon/p/8059000.html Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代 ...
- Centos7.4 Nginx反向代理+负载均衡配置
Ningx是一款高性能的HTTP和反向代理服务器,配置起来也比较简单. 测试环境: 172.16.65.190 Nginx-反向代理 172.16.65.191 Ningx-Web 172.16.65 ...
- 如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器
Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动 ...
- 项目实战2.2—nginx 反向代理负载均衡、动静分离和缓存的实现
实验一:实现反向代理负载均衡且动静分离 1.环境准备: 机器名称 IP配置 服务角色 备注 nginx VIP:172.17.11.11 反向代理服务器 开启代理功能 设置监控,调度 rs01 RIP ...
- 项目实战2.1—nginx 反向代理负载均衡、动静分离和缓存的实现
总项目流程图,详见 http://www.cnblogs.com/along21/p/8000812.html 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 机器名称 IP配置 服务角色 备 ...
- 项目实战02:nginx 反向代理负载均衡、动静分离和缓存的实现
目录 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 2.下载编译安装tengine 3.设置代理服务器的配置文件 4.启动tengine服务 5.开启后端的web服务 6.测试 实验二:ng ...
- Centos 7.6配置nginx反向代理负载均衡集群
一,实验介绍 利用三台centos7虚拟机搭建简单的nginx反向代理负载集群, 三台虚拟机地址及功能介绍 192.168.2.76 nginx负载均衡器 192.168.2.82 web ...
随机推荐
- oracle-odu小试牛刀--恢复drop表的数据
现在进入oracle12c时代:普遍用的oracle版本为10g以上.在oracle10g之后提供了一个回收的机制.所以恢复drop表的数据以及表很容易.当然需要打开回收机制以及是归档模式. ...
- win7里边使用telnet命令提示telnet不是内部或外部命令
Win7默认没有安装telnet功能,所以你直接用telnet命令是用不了的: 你可以去“控制面板”-->“程序”(在左下角)--->“打开或关闭Windows功能”,勾上“telnet客 ...
- c# UDP通信
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 【转】Linus:利用二级指针删除单向链表
原文作者:陈皓 原文链接:http://coolshell.cn/articles/8990.html 感谢网友full_of_bull投递此文(注:此文最初发表在这个这里,我对原文后半段修改了许多, ...
- linux下网络程序遭遇SIGPIPE的解决(转)
http://blog.chinaunix.net/uid-20135786-id-3409085.html 问题描述: 我的一个服务器程序, 在Windows下运行正常. 但当在Linux(cent ...
- TCP/IP通信实现
网络层的IP协议提供不可靠通信服务.TCP协议则解决了分组的重传和排序问题. TCP通信特征 : 1)全双工,同时发送和接收数据 2)只支持两个端口之间的通信 3)基于字节流.对端无法知道报文的边界. ...
- Can't create handler inside thread that has not called Looper.prepare()
参考文章:http://stackoverflow.com/questions/7185942/error-while-dispaying-an-toast-message-cant-create-h ...
- 数据库 使用DML语句更改数据
使用DML语句更改数据 添加新数据: 插入单行语句: Insert into 表名(列名)values(‘值’); 插入多行:insert into 表名(列名,…..) Values(‘值’,’值’ ...
- spark资料
http://spark.apache.org/docs/latest/programming-guide.html#rdd-operations http://m.blog.csdn.net/art ...
- uafxcwd.lib(afxmem.obj) : error LNK2005 解决方法
项目为非MFC,但要用到MFC的库,使用过程中遇到的问题总结一下 uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl opera ...