1.conf/httpd.conf文件尾添加
#开启vhost模块
LoadModule vhost_alias_module modules/mod_vhost_alias.so
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
# 从
"
Host:
"
头中取得主机名
UseCanonicalName Off
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
# 这种日志格式可以从第一个字段中提取出主机名
LogFormat
"
%V %h %l %u %t
"
%r
"
%s %b
"
vcommon
CustomLog E:/www/logs/access.log vcommon
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
# 在返回请求的文件名路径中包含主机名
VirtualDocumentRoot E:/www/hosts/%
0
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
#VirtualScriptAlias /www/hosts/%
0
/cgi-bin
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
<VirtualHost *:
80
>
#这个一定要设置,否则服务器返回404(拒绝访问)。
<Directory
"
E:/www/hosts
"
>
Order allow
,
deny
Allow from all
</Directory>
</VirtualHost>
2.修改 C:/WINDOWS/system32/drivers/etc/hosts增加映射
3.E:/www目录设置(web服务文件):
E:/www>dir /w /s /b
------------------------------------------------------------------------------------------------------------------------------------
E:/www/hosts
E:/www/logs
E:/www/hosts/localhost
E:/www/hosts/www.myext.com
E:/www/hosts/localhost/index.html
E:/www/hosts/www.myext.com/index.html
------------------------------------------------------------------------------------------------------------------------------------
5.测试效果
启动apache,分别访问localhost/www.myext.com,则可以看到页面和访问日志:
www.myext.com 127.0.0.1 - - [16/Dec/2007:00:25:03 +0800] "GET / HTTP/1.1" 304 -
www.myext.com 127.0.0.1 - - [16/Dec/2007:00:25:38 +0800] "GET /index.html HTTP/1.1" 200 19
localhost 127.0.0.1 - - [16/Dec/2007:00:26:05 +0800] "GET / HTTP/1.1" 304 -
6.虚拟主机配置建议
虚拟主机少:用
VirtualHost
功能
改良:使用
mod_vhost_alias
模块配置动态虚拟主机,这样新增主机就不需要重启Apache。
虚拟主机多:使用代理吞吐
(Proxy Throughput)功能(flag
[P]
),非单纯的URL重写,要加上端口转换,这样就可以使用多个Tomcat(防止相互影响)。
不建议使用Tomcat的<Context…/>级+Apache的URL重写功能来“仿冒”Host,这样会对具体web应用的路径使用带来限制。
Apache动态
VirtualHost (
端口
1)
à
Tomcat<Host>
级配置
(ajp
端口
1)
Apache动态
VirtualHost (
端口
2)
à
Tomcat<Host>
级配置
(ajp
端口
2)
Apache动态
VirtualHost (
端口
X)
à
Tomcat<Host>
级配置
(ajp
端口
X)
注:
Apache2.2
中不再使用
jk
,而使用下列模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule status_module modules/mod_status.so
LoadModule proxy_http_module modules/mod_proxy_http.so