反向代理和负载均衡和反向代理有何区别

apache反向代理和负载均衡总结
apache反向代理和负载均衡总结内容简介:apache功能其实很是强大,最近一段时间研究了下apache的反向代理和负载均衡,反向代理网协的外网出口和我的博客出口就是通过apache的反向代理实现的,总结一下,重点说说负载均衡的配置。 首先说先实验环境吧 操作系统:DEBIAN 5.03(Ubuntu也可以同理配置)
apache功能其实很是强大,最近一段时间研究了下apache的反向代理和负载均衡,反向代理网协的外网出口和我的博客出口就是通过apache的反向代理实现的,总结一下,重点说说负载均衡的配置。首先说先实验环境吧操作系统:DEBIAN 5.03(Ubuntu也可以同理配置)
一、安装apache加载模块
apt-get install apache2然后进入到apache的配置目录cd /etc/apache2apache的反向代理和负载均衡其实利用的都是反向代理的原理,至于什么叫做反向代理可以点此/view/1165595.htm
关键需要加载下面三个模块LoadModule proxy_module modules/mod_proxy.so&& LoadModule proxy_balancer_module modules/mod_proxy_balancer.so&& LoadModule proxy_http_module modules/mod_proxy_http.so
由于Debian系统下apache所有的模块都是放在/usr/lib/apache2/modules/里面的,通过/etc/apache2/mods-available里面的*.load加载的,如果要模块的话需要在/etc/apache2/mods-enabled里面用ln建立链接,当然你也可以再/etc/apache2/apache2.conf里面直接把上面三句话写进入,但是不建议这样做。执行代码如下ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled/proxy.loadln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled/proxy_http.loadln -s /etc/apache2/mods-available/proxy_balancer.load /etc/apache2/mods-enabled/proxy_banancer.load
做好上面几步之后我们重启下apache/etc/init.d/apache2 restart
二、配置反向代理功能
加载完模块后可以建立一个虚拟主机来作为反向代理vi /etc/apache2/sites_available/proxy配置如下Listen 202.xxx.xxx.xxx:80&&&& (别人访问的IP和端口)&VirtualHost 202.xxx.xxx.xxx:80& (同上)ServerAdmin ProxyRequests Off&&&&&&&&&&&& (说明开启的是反向代理)ProxyMaxForwards 100ProxyPreserveHost OnProxyPass / http://10.x.xx.xxx/ (转发到url上的请求)ProxyPassReverse / http://10.x.xx.xxx/&Proxy *&&&&&&&&&&&&&&&& (这段是访问的控制)Order Deny,AllowAllow from all&/Proxy&&/VirtualHost&然后再在/etc/apache2/sites_enabled/里面建立ln链接ln -s /etc/apache2/sites_available/proxy /etc/apache2/sites_enabled/proxy重启apache/etc/init.d/apache2 restart
然后反向代理就开启了当别人输入http://202.xxx.xxx.xxx时 就会通过反向代理转到http://10.x.xx.xxx上,这样简单的反向代理功能就开启了
三、apache负载均衡配置
a、简单的负载均衡
然后接着讲apache的负载均衡模块吧同理建立一个虚拟主机来作为负载均衡vi /etc/apache2/sites_available/balancer配置如下Listen 202.x.xx.xxx:80&&&&&&& (别人访问的IP和端口)&VirtualHost 202.x.xx.xxx:80&
& ServerAdmin &&&& ProxyRequests Off&&&& Proxypass / balancer://proxy/ &&&& &Proxy balancer://proxy&&&&&&&&& Order Deny,Allow&&&&&&&& Allow from all&&&&&&&& BalancerMember http://10.0.0.1&&&&&&&& BalancerMember http://10.0.0.2&&&& &/Proxy&
&/VirtualHost&从上面的 ProxyRequests Off 这条可以看出,实际上负载均衡器就是一个反向代理,只不过它的代理转发地址不是某台具体的服务器,而是一个 balancer://协议地址ProxyPass / balancer://proxy/ 协议地址可以随便定义。然后,在&Proxy&段中设置该balancer协议的内容即可。 BalancerMember指令可以添加负载均衡组中的真实服务器地址。
然后再在/etc/apache2/sites_enabled/里面建立ln链接ln -s /etc/apache2/sites_available/balancer /etc/apache2/sites_enabled/balancer重启apache/etc/init.d/apache2 restart这样apache的负载均衡就配置好了
如果访问http://202.x.xx.xxx的时候会均匀地打开http://10.0.0.1和http://10.0.0.2,比如你两次打开http://202.x.xx.xxx会又一次打开http://10.0.0.1一次打开http://10.0.0.2这样就是两台服务器接受的请求平均了,达到了负载均衡的效果。中国领先的IT技术网站
51CTO旗下网站
Nginx反向代理和负载均衡部署指南
nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查。
作者:啸月shine来源:CSDN博客| 11:26
nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查。
如果只有一台服务器时,这个服务器挂了,那么对于网站来说是个灾难.因此,这时候的负载均衡就会大显身手了,它会自动剔除挂掉的服务器.
Nginx负载均衡一些基础知识:
nginx 的 upstream目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
2)、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
3)、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
4)、url_hash(第三方)
以下是具体使用步骤:
从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包;
2) 解压后复制到部署目录。
2. 启动和停止Nginx
Nginx目前只支持命令行操作,操作前先进入Dos命令环境,并进入Nginx部署目录。
1) 启动Nginx:start nginx
2) 停止Nginx:nginx -s stop
3) 修改配置后重启:nginx -s reload
这三个命令可分别做成bat文件,放在部署目录下,方便后续操作。
start nginx.bat文件内容:start nginx
stop nginx.bat文件内容:nginx -s stop
reload nginx.bat文件内容:nginx -s reload
3. 反向代理配置
修改部署目录下conf子目录的nginx.conf文件(如nginx-1.5.13\conf\nginx.conf)内容,可调整相关配置。
反向代理配置示例:
location / {
#设置主机头和客户端真实地址,以便服务器获取客户端真实IP
proxy_set_header Host $
proxy_set_header X-Real-IP $remote_
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_
#设置反向代理的地址
proxy_pass http://192.168.1.1;
代理地址根据实际情况修改。
4. 负载均衡配置
upstream默认是以轮询的方式实现负载均衡,这种方式中,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
另外一种方式是ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
负载均衡配置示例:
upstream backend {
server 192.168.1.251;
server 192.168.1.252;
server 192.168.1.247;
listen 80;
location / {
#反向代理的地址
proxy_pass http://
Upstream命名和服务器地址根据实际情况修改。
5. 完整配置示例
nginx.conf:
worker_processes 1;
worker_connections 1024;
include mime.
default_type application/octet-
keepalive_timeout 65;
upstream backend {
server 192.168.1.251;
server 192.168.1.252;
server 192.168.1.247;
listen 80;
server_name 2;
location / {
#设置主机头和客户端真实地址,以便服务器获取客户端真实IP
proxy_set_header Host $
proxy_set_header X-Real-IP $remote_
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_
#反向代理的地址
proxy_pass http://
【编辑推荐】
【责任编辑: TEL:(010)】
大家都在看猜你喜欢
专题专题专题原创专题
24H热文一周话题本月最赞
讲师:5人学习过
讲师:29人学习过
讲师:5人学习过
精选博文论坛热帖下载排行
本书由浅入深地介绍Windows Forms编程的技巧和各种实用方法。本书先详细介绍了菜单、状态条、可复用类库、文件对话框、文本框、按钮、列表...
订阅51CTO邮刊2015年7月 Web 开发大版内专家分月排行榜第三
2015年7月 Web 开发大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。10:30 提问
负载均衡与反向代理的区别
反向代理是不是就是负载均衡+本地缓存?是不是反向代理就能完全取代负载均衡?
按赞数排序
反向代理代理的是服务器。是从客户端连接的角度来看的。对于客户端来说,它看不到后面的真正的应用服务器
而负载均衡是前段进行资源负载分配调度,让多台相同功能的服务器实现尽可能类似的负载。从而最大化效率
两者目的不一样,但是最终实现有点相同
反向代理顾名思义就是代理。
一般的代理是,你上网的时候,你请求网页不直接和网站通讯,而是发给代理服务器,代理服务器和网站通讯,获得网页,再传给你。在网站看来,代理服务器好像是一个上网的客户端。
可见代理服务器是对网站透明的,网站不知道代理的存在。
反向代理的原理和代理一样,只不过它反过来,用户直接请求反向代理服务器,反向代理和真正的网站通讯,获得网页,再传给你。在用户看来,反向代理服务器就好像是网站服务器。
可见反向代理对用户是透明的,用户不知道反向代理的存在。
至于负载均衡、缓存等等,都是代理服务器的附加功能。
其他相似问题

我要回帖

更多关于 nginx 反向代理 负载 的文章

 

随机推荐