目前虚拟主机已经应用在服务器上,主要的部署方式为多项目共享一个端口的形式。
虚拟主机是在网络服务器上分出一定的磁盘空间供用户放置站点、应用组件等,提供必要的站点功能、数据存放和传输功能。所谓虚拟 主机,也叫“网站空间”,就是把一台运行在互联网上的服务器划分成多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的 Internet服务器(支持WWW、FTP、E-mail等)功能。虚拟主机是网络发展的福音,极大的促进了网络技术的应用和普及。同时虚拟主 机的租用服务也成了网络时代新的经济形式。
基于以上解释分析,一个Tomcat上可以配置多个Host,每个Host包含多个web个应用。当Tomcat接收到请求时,也要获取host请求 头,并将头的值与host_name进行匹配,由匹配成功的host指定的web应用处理请求。Tomcat虚拟机使一个Tomcat可以同时运行多个 应用,只需要启动一个JVM,节省系统资源。
<!-- defaultHost设置的主机为直接使用IP地址访问时的处理主机 --> <Engine name="sample" defaultHost="localhost"> <Host name="localhost" appBase="sampleapps" 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> <!-- appBase为虚拟主机对应的应用路径 --> <Host name="t-web.1v.cn" appBase="sampleapps" 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> <Host name="t-web2.1v.cn" appBase="sampleapps2" 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> <Host name="t-web3.1v.cn" appBase="sampleapps3" 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>
windows用户打开C:\WINDOWS\system32\drivers\etc的hosts这个文件,linux用户打开/ect的hosts文件或者vi /ect/hosts 修改内容如下 127.0.0.1 localhost 127.0.0.1 t-web.1v.cn 127.0.0.1 t-web2.1v.cn 127.0.0.1 t-web3.1v.cn
将t-web.1v.cn,t-web2.1v.cn,t-web3.1v.cn三个公网域名的IP映射至部署Tomcat服务器
@北京微朴信息技术有限责任公司