虚拟服务器:对外它是单一的入口,对内有很多台计算机为它服务.对使用它的人来说,它是一台机器,有单一的入口点.具体的实现技术包括两种: 应用层的虚拟服务器,网络层的虚拟服务器.
1.应用层的虚拟服务器是利用应用层的转发实现的,相当于一台代理服务器,这正是经常提到的虚拟服务器.
实现方式:利用apache的 proxypass 可以实现对虚拟服务器的配置.(httpd.conf中)
如某公司的www服务器为 http://www.abc.com/ 在httpd.conf中作如下设置:
proxypass /sales http://192.168.0.1/
proxypass /rd http://192.168.0.2/
proxypass /head http://192.168.0.3/
如上设置生效了以后,对http://www.abc.com/rd的方位会转到http://192.168.0.2上来.
对http://www.abc.com/head的访问会转到http://192.168.0.2上来,
客户不直接同 192.168.0.x交互,所有的请求都通过www.abc.com来转发.
过程如下:
client (http://www.abc.com/sales) <--> www.abc.com <--> 192.168.0.1 `
2.ip层的虚拟服务器.它是利用ip层的反向masq来实现的.
实现方式:通过对ip包头的目的地址的改写来实现的.linux kernel 2.2.x中带的ip port forward 就是实现的方式.你需要一个管理工具来管理这个方式.此种方式也称为反向nat.
设置方法:
1. 内核编译中选择 ip_port_forward(??)
2. 利用ipmasqadm 来设置 ip_port_forward.
ipmasqadm -a www.abc.com:80 -r 192.168.0.1:80
具体用法请参考man..这里不对.
ipmasqadm -a www.abc.com:80 -r 192.168.0.2:80
3.设置ipchains
ipchains -a forward -j masq -s 192.168.0.0/24
ipchains -a forward -j masq -d 192.168.0.0/24
4. ok..
测试:
1 现在你访问http://www.abc.com/
2 你访问的ip包发到www.abc.com然后目标地址改为192.168.0.x, x为1或2可以由系统的负载平衡算法来选定.
3 处理完毕,请求包发回www.abc.com,然后在发回给客户.
这样,机器就可以扩充了.....你的www服务器负载太大,利用以上两种方式均可以实现.你的te.net服务器负载太大,可以用方法2实现
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器