使用Apache2服务器设置反向代理
来源:互联网 发布:仁王pc版帧数优化补丁 编辑:程序博客网 时间:2024/06/06 20:59
原文地址:http://www.server110.com/apache/201309/1177.html
apache功能其实很是强大,最近一段时间研究了下apache的反向代理和负载均衡,反向代理网协的外网出口和我的博客出口就是通过apache的反向代理实现的,总结一下,重点说说负载均衡的配置。
首先说先实验环境吧操作系统:DEBIAN 5.03(Ubuntu也可以同理配置)
一、安装apache加载模块
apt-get install apache2
然后进入到apache的配置目录
cd /etc/apache2
apache的反向代理和负载均衡其实利用的都是反向代理的原理,至于什么叫做反向代理可以点此http://baike.baidu.com/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.load
ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled/proxy_http.load
ln -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 admin@bit.net
ProxyRequests Off (说明开启的是反向代理)
ProxyPass / http://10.x.xx.xxx/ (转发到url上的请求)
ProxyPassReverse / http://10.x.xx.xxx/
<Proxy *> (这段是访问的控制)
Order Deny,Allow
Allow 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 admin@bit.com
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这样就是两台服务器接受的请求平均了,达到了负载均衡的效果。
0 0
- 使用Apache2服务器设置反向代理
- Apache2下的反向代理设置
- 使用反向代理技术保护Web服务器
- 使用反向代理技术保护Web服务器
- 使用反向代理技术保护Web服务器
- 使用Nginx反向代理tomcat服务器
- 使用Nginx反向代理tomcat服务器
- 使用Nginx反向代理tomcat服务器
- 使用Nginx反向代理tomcat服务器
- apache2 正向代理和反向代理
- 服务器配置反向代理
- 如何设置nginx反向代理实现服务器瞬间故障转移
- gerrit apache2 反向代理配置问题
- 用apache2 实现反向代理功能
- Apache2.4+Tomcat9.0配置反向代理
- Apache2.4+Tomcat9.0配置反向代理
- Apache2.4+Tomcat9.0配置反向代理
- Apache反向代理设置
- Ubuntu编译Hadoop源码异常总结
- Java中关于HashMap的使用和遍历
- 怎么卸载Apache_pn服务-PHPnow使用问题
- Spark修炼之道(进阶篇)——Spark入门到精通:第一节 Spark 1.5.0集群搭建
- ios编程思想:委托实现方式1 - 协议方式(protocol)
- 使用Apache2服务器设置反向代理
- servlet是什么?
- 4412裸机程序之常用gcc/makefile/arm汇编指令
- [翻译]十条有用的 GO 技术
- 【iOS开发】CocoaPods下载、安装、更新、以及升级iOS9.0后源不可使用的解决方案
- PO/POJO/BO/DTO/VO的区别
- hdu4973A simple simulation problem. 线段树
- spring mvc 报错 expected at least 1 bean which qualifies as autowire candidate for this depend
- 4412裸机程序之ddr