结构图
使用Tomcat的童鞋们注意了。为了增加tomcat的性能和稳定性,我们一般采用balance和session同步机制。 下图列出了我们常用也是最简单的解决方案。
说明 1 balance 负载均衡我们一般采用Apache proxy和Apache+mod_jk方式 所使用软件: ;Tomcat7 1.1 mod_proxy方式 mod_proxy是一种分工合作的的形式,通过主服务器跳转到各台主机负责不同的任务而实现任务分工,这种形式不能实现负载均衡,只能提供主服务器的访问跳转
修改apache的httpd.conf文件配置
打开httpd.conf文件,取消下面四行的注释,用以打开代理所需的.so支持模块。
View Code
1 #LoadModule proxy_http_module modules/mod_proxy_http.so
2 #LoadModule proxy_connect_module modules/mod_proxy_connect.so
3 #LoadModule proxy_module modules/mod_proxy.so
4 #Include conf/extra/httpd-vhosts.conf
打开文件conf\extra\httpd-vhosts.conf,可以看到如下代码:
View Code
1 #
2 # Use name-based virtual hosting.
3 #
4 NameVirtualHost *:80
5
6 #
7 # VirtualHost example:
8 # Almost any Apache directive may go into a VirtualHost container.
9 # The first VirtualHost section is used for all requests that do not
10 # match a ServerName or ServerAlias in any <VirtualHost> block.
11 #
12 <VirtualHost *:80>
13 ServerAdmin webmaster@dummy-host.leader89
14 DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host.leader89"
15 ServerName dummy-host.leader89
16 ServerAlias
17 ErrorLog "logs/dummy-host.leader89-error.log"
18 CustomLog "logs/dummy-host.leader89-access.log" common
19 </VirtualHost>
20
21 <VirtualHost *:80>
22 ServerAdmin webmaster@dummy-host2.leader89
23 DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host2.leader89"
24 ServerName dummy-host2.leader89
25 ErrorLog "logs/dummy-host2.leader89-error.log"
26 CustomLog "logs/dummy-host2.leader89-access.log" common
27 </VirtualHost>
根据需要更改<VirtualHost>节点内的参数。
说明:NameVirtualHost *:80和<VirtualHost *:80>中 的*为当前服务器IP,如果有固定IP可以用IP把*替换掉,我这里使用的是动态IP,所以用*,我看apache帮助文档的时候,一直认为这里的*为对 应的域名,这个想法应该是错误的,因为我填上域名的时候一直没有设置成功。ServerName这个填域名,DocumentRoot填 ServerName上域名对应的根目录。
注:
如果访问域名出现403权限错误,且对应的文件夹everyone的权限都是全部控制,则问题出在httpd.conf上。
编辑httpd.conf,找到DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"这项,这是默认根目录路径,但是要更改的不是这个,一直往下找,找到<Directory />节点,然后在节点结束后加上:
View Code
1 <Directory "C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host.leader89">
2 Options Indexes FollowSymLinks
3 AllowOverride all
4 Order Allow,Deny
5 Allow from all
6 </Directory>
7 <Directory "C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host2.leader89">
8 Options Indexes FollowSymLinks
9 AllowOverride all
10 Order Allow,Deny
11 Allow from all
12 </Directory>
这里的"C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host.leader89"和"C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host2.leader89"为前面VirtualHost里的路径。
保存httpd.conf和httpd-vhosts.conf,然后重启Apache。
然 后访问dummy-host.leader89打开的是C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host.leader89目录,
访问dummy-host2.leader89的是C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host2.leader89目录,
实现了单IP多域名多站点的功能。