一、说明
1.appBase为项目的绝对路径,docBase为WEB目录
2.Host下的Alias是一个域名别称,可以配置多个域名。
3.Host里如果没有Context节点,则非webapps文件夹下,直接不用虚拟目录访问,会抛404找不到文件的错误,比如上面配置中test1域名下必须用虚拟目录比如这里的TestWeb2来访问;Host下面的context节点配置为:<Context path=“” 后,则这个目录为默认的访问目录,比如http://www.test2.com:880/,访问的D:\TomCat7.0\testapp\TestWebliu下面的文件,因为有默认首页,因此直接输入域名和端口可以直接访问到默认的index.jsp页面,如果没有默认页,可能会抛错,需要配置可以/为列目录,在conf/web.xml里.
5.该server下面两个service节点,每个service节点可以用Connector配置一个监听端口,service里有只能有一个Engine节点,它接受同级目录Connector端口的请求,可以通过defaultHost属性默认指向一个Host,Host就是一个该Connector端口下的域名,下面可以用Context配置多个虚拟目录。
即:server下面可以有多个service,用于配置不同监听端口
6. service下面可以有多个Host,用于配置该端口下的不同域名
Host里可以包含多个Context,用于配置该端口该域名下的不同虚拟目录
二、多网站多域名
代码中灰色背景的是需要修改的,注意:配置文件中有两层<Service>是放到<Server port="8005" shutdown="SHUTDOWN">层里
///Catalina1 相当于网站的ID名字不能重复
<Service name="Catalina1">
///8080端口根据需要修改,不能重复
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
///8009 是AJP调用端口,不能重复
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
///Catalina1和上面的Catalina1写出一样
<Engine name="Catalina1" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
///test.com 捆绑的域名
///webapps 默认的根目录
<Host name="test.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
///path是说明虚拟目录的名字,如果你要只输入ip地址就显示主页,则该键值留为空
///docBase是虚拟目录的路径,它默认的是$tomcat/webapps/ROOT目录,现在我在webapps目录下建了一个myweb目录,
让该目录作为我的默认目录。
///debug和reloadable一般都分别设置成0和true。
///完整路径 $tomcat/webapps/test
///<Context 此行配置文件中默认没有,需加入
<Context path="" docBase="test" debug="0" reloadable="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>
下面是整体效果,因为展示不方便 我把注释都删除了。
二、多端口访问同一个项目
<Connector port="8090" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
三、多域名访问同一个项目
在Host里添加<Alias>
<Host name="abc.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Alias>www.123.com</Alias> <!--多个域名-->
<Alias>www.456.com</Alias> <!--多个域名-->
</Host>
四、重启Tomcat
/usr/java/apache-tomcat-7.0.67/bin/shutdown.sh && /usr/java/apache-tomcat-7.0.67/bin/startup.sh
五、如果停止Tomcat时,如图提示则配置文件有问题需要重新修改
下图是正常重启,停止和启动都无错.
转载于:https://blog.51cto.com/wutou/1745412