Apache虚拟主机简单可分为本机的虚拟主机以及代理到其他服务器的虚拟主机
[b]1、本机虚拟主机[/b]
这个平常比较少用,主要是我们的页面一般都是动态的。配置方法,打开httpd.conf,找到“Include conf/extra/httpd-vhosts.conf”,把前面的“#”去掉,即引入conf/extra/httpd-vhosts.conf文件,参考现有的<VirtualHost *:80>,拷贝一份即可。在默认安装后,配置完毕,会发现“You don't have permission to access / on this server.”,回到httpd.conf,找到“<Directory>”,把下面的“Deny from all”改为“allow from all”即可。
[b]2、代理到其他服务器的虚拟主机[/b]
用途:一台服务器上部署了多个(Tomcat)Web服务,又没采用Tomcat虚拟主机时(为什么不直接采用Tomcat虚拟主机原因是多样的,JVM内存;多个Tomcat版本等)
配置方法:和用apache和tomcat搭建集群,实现
负载均衡配置很类似。
a)载入jk
每个apache的版本,都会有一个特定的jk与之对应,所以这里要用的jk也必须是为apache-2.2.4开发的那个才行。它的下载地址是http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.27/mod_jk-1.2.27-httpd-2.2.10.so,引用地址是:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.27/
取得jk,拷贝到modules目录下
在httpd.conf中加入
[code]LoadModule jk_module modules/mod_jk-1.2.27-httpd-2.2.10.so[/code]
b)配置jk
继续在httpd.conf中加入
[code]
### 配置 mod_jk
#加载集群中的workers
JkWorkersFile conf/workers.properties
#加载workers的请求处理分配文件
#JkMountFile conf/uriworkermap.properties
#指定jk的日志输出文件
JkLogFile logs/mod_jk.log
#指定日志级别
JkLogLevel warn[/code]
c)配置workers.properties
[code]# worker列表
worker.list=ba, ywgk
worker.ba.port=8009
worker.ba.host=172.16.2.51
worker.ba.type=ajp13
worker.ywgk.port=8009
worker.ywgk.host=172.16.2.12
worker.ywgk.type=ajp13[/code]
d)配置虚拟主机
打开httpd.conf,找到“Include conf/extra/httpd-vhosts.conf”,把前面的“#”去掉,即引入conf/extra/httpd-vhosts.conf文件
然后加入以下内容
[code]<VirtualHost *:80>
# Send request for context /web to worker named kms
JkMount /* ba
ServerName ba.nowfox.com
ErrorLog "logs/ba-error.log"
CustomLog "logs/ba-access.log" common
</VirtualHost>
<VirtualHost *:80>
# Send request for context /web to worker named kms
JkMount /* ywgk
ServerName ywgk.nowfox.com
ErrorLog "logs/ywgk-error.log"
CustomLog "logs/ywgk-access.log" common
</VirtualHost>[/code]