目前,在网络开发领域,JavaEE开发技术逐渐应用于多个项目领域,通常一台服务器对外可以访问多个JavaEE的项目,但是需要在tomcat虚拟主机配置环境来实现。那么,如何配置tomcat虚拟主机?
目前,在网络开发领域,JavaEE开发技术逐渐应用于多个项目领域,通常一台服务器对外可以访问多个JavaEE的项目,但是需要在tomcat虚拟主机配置环境来实现。那么,如何配置tomcat虚拟主机?
一、打开tomcat安装目录下conf/server.xml这个文件
在server.xml文档中找到
</Engine>
</Service>
接着添加上面添加以下内容(暂时先说分为三种方式):
第一种:
<Host name="www.linuxidc.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="www" debug="0" reloadable="true" crossContext="true"/>
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www_5sai_log." suffix=".txt"
timestamp="true"/>
</Host>
第二种:
<Host name="host.enkj.com" debug="0" appBase="C:\\test\www" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="."/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="test_5sai_access_log."
suffix=".txt" pattern="common" resolveHosts="false"/>
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="test_5sai_log." suffix=".txt" timestamp="true"/>
</Host>
以上内容的意思就是在C盘test文件夹下面建立一个www文件夹作为host.enkj.com这个域名的主目录
第三种,如果是linux系统的/var/www作为host.enkj.com这个域名的主目录的话内容如下:
<Host name="host.enkj.com" debug="0" appBase="/var/www" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="."/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="test_5sai_access_log."
suffix=".txt" pattern="common" resolveHosts="false"/>
<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="test_5sai_log." suffix=".txt" timestamp="true"/>
</Host>
再补充一种
<Host name="www.linuxidc.com" debug="0" unpackWARs="true">
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="/var/log/tomcat" prefix="www_5sai_access_log." suffix=".txt"
pattern="common"/>
<Logger className="org.apache.catalina.logger.FileLogger"
directory="/var/log/tomcat" prefix="www_5sai_log." suffix=".txt"
timestamp="true"/>
<Context path="" docBase="/var/www" debug="0" reloadable="true"/>
</Host>
域名www.linuxidc.com的主目录为/var/www 该站点的所有访问LOG放在/ar/log/tomcat里面
测试:
windows用户打开C:\WINDOWS\system32\drivers\etc的hosts这个文件,linux用户打开/ect的hosts文件或者vi /ect/hosts
小编自己也尝试了配置tomcat虚拟主机的过程:
首先找到tomcat的安装目录,到TOMCAT_HOME/apache-tomcat7/conf目录下,找到server.xml这个文件,打开该文件,在该文件中找到关于Engine这个子节点
[html] view plaincopy
1 <Engine name="Catalina" defaultHost="localhost">
上面的配置了一个defaultHost中的localhost表示为默认的访问方法! 我们需要配置自己的记住就需要在Engine节点中添加Host节点,默认的有一个host如下:
[html] view plaincopy
2 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
这个里面的name表示的是访问本地的localhost地址,appBase表示项目指定的父位置,当前的webapps代表:TOMCAT_HOME/apache-tomcat7/webapps这个位置,这个位置也是tomcat的默认的存放javaEE项目位置!
下面是我自己配置的一个虚拟主机:
[html] view plaincopy
3 <Host name="host.enkj.com" appBase="/var/JavaServer/test" unpackWARs="true" autoDeploy="true">
4 <Alias>abc.com</Alias>
5 <Context path="/hello" docBase="/var/www/html/hello" debug="0" privileged="true"/>
6 </Host>
这里详细介绍一下:Host节点代表为一个虚拟主机,name表示需要访问的域名,这个域名是已经注册的域名!当前配置的域名:host.enkj.com 在Host下有一个子节点,叫Alias,这个里面配置的是 另外一个域名,就是说,一个虚拟主机,可以使用多个域名!那么访问host.enkj.com 和abc.com是一样的!
appBase需要你指定的项目父路径,在当前的路径下可以存放多个项目 ,我们可以把项目打包或者放文件夹放在/var/JavaServer/test这个目录下
unpackWARs="true" 表示当发现在/var/JavaServer/test有打包的war项目的话,就开启解压功能!
autoDeploy="true" 表示支持热部署!
下面讲一下在Host节点下的Context节点,这个就是部署一个项目,但是这个项目不是在appBase目录下,他的路径在/var/www/html/hello这个目录下,path表示对外访问的名称, 这样使得tomcat更灵活多变 !
河南亿恩科技股份有限公司(www.enkj.com)始创于2000年,专注服务器托管租用,是国家工信部认定的综合电信服务运营商。亿恩为近五十万的用户提供服务器托管、服务器租用、机柜租用、云服务器、网站建设、网站托管等网络基础服务,另有网总管、名片侠网络推广服务,使得客户不断的获得更大的收益。
服务器/云主机 24小时售后服务电话:
0371-60135900
虚拟主机/智能建站 24小时售后服务电话:
0371-55621053
网络版权侵权举报电话:
0371-60135995
服务热线:
0371-60135900