什么是虚拟主机?
虚拟主机就是把一台真正的主机分成许多 "虚拟" 的主机, 每一台虚拟主机都具有独立的域名和 IP 地址, 具有完整的 Internet 服务器功能.
虚拟主机之间完全独立, 在外界看来, 每一台虚拟主机和一台独立的主机完全一样.
配置文件位置:
tomcat/conf/server.xml 文件
2.tomcat 的默认端口: 8080
1. 基于域名的虚拟主机
多个域名解析一个 IP 地址
<Host name="www.maiya.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context docBase='jspgou' path=""reloadable="true"crossContext="true"/>
</Host>
参数说明:
appBase: 指定站点根目录位置 (可以是相对路径或绝对路径)
unpackWAR : 本项为 "true" 意味着 Tomcat 会保存 .war 包的解压结果, 然后直接对解压结果进行运行.
考虑到 jvm 的类加载机制, 每个类都仅加载一次, 但是页面内容却没有类似的有效缓存, 所以 .war 还是解压执行的比较好.
path: 指定访问路径 URI(虚拟目录名)
docBase : 指定 jsp 项目的存放路径 (可以是相对路径或绝对路径)
debug : 设定 debug 的等级 0 提供最少的信息, 9 提供最多的信息
reloadable : 本项为 true 时 当 web.xml 或者 class 有改动的时候都会自动重新加载不需要从新启动服务 (所谓的支持热发布功能)
crosscontext : 本项为 "true" 表示配置的不同 context 共享一个 session
cachingAllowed : 本项为 "true" 时 意味着开启了 Tomcat 的静态缓存功能. 静态文件包括 JavaScript 程序, 图片声音等允许网络访问的文件以及 html 页面.
cacheMaxSize : 指定静态缓存功能缓冲区大小的设定. 单位是 MB , 也就是 1024KB . 例子中设为 1024 , 意味着 1GB .
2. 基于端口虚拟主机
** 一个 IP 地址, 通过不同的端口实现不同网站的访问
关键: 在 server.xml 中 设置两个 service 组件, 设置不同的端口
- **
- <Service name="Catalinai1">
- <Connector port="8080" protocol="HTTP/1.1"
- connectionTimeout="20000"
- redirectPort="8443" />
- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
- <Engine name="Catalina" defaultHost="localhost">
- <Realm className="org.apache.catalina.realm.LockOutRealm">
- <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
- resourceName="UserDatabase"/>
- </Realm>
- <Host name="www.maiya.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
- <Context docBase='jspgou' path=""reloadable="true"crossContext="true"/>
- </Host>
- <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
- <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
- prefix="localhost_access_log" suffix=".txt"
- pattern="%h %l %u %t "%r" %s %b" />
- </Host>
- </Engine>
- </Service>
- <Service name="Catalina2">
- <Connector port="8090" protocol="HTTP/1.1"
- connectionTimeout="20000"
- redirectPort="8443" />
- <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
- <Engine name="Catalina" defaultHost="localhost">
- <Realm className="org.apache.catalina.realm.LockOutRealm">
- <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
- resourceName="UserDatabase"/>
- </Realm>
- <Host name="www.maiya.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
- <Context docBase='jspgou' path=""reloadable="true"crossContext="true"/>
- </Host>
- <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
- <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
- prefix="localhost_access_log" suffix=".txt"
- pattern="%h %l %u %t "%r" %s %b" />
- </Host>
- </Engine>
- </Service>
来源: http://www.bubuko.com/infodetail-2554134.html