Tomcat虚拟主机配置(基于域名/端口)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat虚拟主机配置(基于域名/端口)相关的知识,希望对你有一定的参考价值。
什么是虚拟主机?
虚拟主机就是把一台真正的主机分成许多“虚拟”的主机,每一台虚拟主机都具有独立的域名和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>
以上是关于Tomcat虚拟主机配置(基于域名/端口)的主要内容,如果未能解决你的问题,请参考以下文章