当我们初学web应用开发的时候,我们通常将web应用直接放到$CATALINA_BASE/webapps中,然后通过输入http://localhost:8080/cjh-web/index.html就可以访问到index.html页面。当有时我们需要将web应用和tomcat服务器进行分离。那我们该怎么做呢?我们可以配置虚拟目录。
一、虚拟目录的配置
1、第一种实现:
【1】、打开 $CATALINA_BASE/conf/server.xml 配置文件
【2】、找到 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"></Host>,然后在这里面添加
<Context path="/cjh-web" docBase="d:\\cjh-web" reloadable="true"/>
path:虚拟目录的名称,也就是访问web应用时的主目录的名称,可为空字符串,访问时缺省。
docBase:web应用的放置的位置。
这样我们的虚拟目录配置就配好了。通过访问http:localhost:8080/cjh-web/index.html就可以访问到index.html页面了。但是这种方式不是很好,因为修改server.xml配置需要重启tomcat。
2、第二种实现:
在$CATALINA_BASE/conf/catalina/localhost 里面添加一个cjh-web.xml文件,这个xml文件的文件名就是我们的虚拟目录名称。在里面添加
<Context docBase="d:\\cjh-web" reloadable="true"/>,然后通过访问http:localhost:8080/cjh-web/index.html就可以访问到index.html页面了,这种方式不需要重启tomcat。
二、虚拟主机的配置
【1】打开$CATALINA_BASE/conf/server.xml配置文件
【2】找到 <Engine name="Catalina" defaultHost="localhost"><Engine/>,在里面默认有个localhost虚拟主机。同样的道理我可以添加新的虚拟主机。
<Host name="www.cjh.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
</Host>
【3】在$CATALINA_BASE/conf/Catalina/里面添加一个目录www.cjh.com。
【4】在C:\Windows\System32\drivers\etc\hosts文件中添加一行:127.0.0.1 www.cjh.com。
这样一个本地的一个虚拟主机就可以了。
如果想把web项目部署到www.cjh.com里面,使用上面虚拟目录配置的方法就可以。如果使用第一种方法,那就在$CATALINA_BASE/conf/server.xml 里面找到
<Host name="www.cjh.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
</Host>
往里面添加 <Context path="/cjh-web" docBase="d:\\cjh-web" reloadable="true"/>,然后通过访问http://www.cjh.com:8080/cjh-web/index.html就可以访问到index.html页面。
更多:
<Connector port="8022" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
将protocol这个参数的值修改成org.apache.coyote.http11.Http11NioProtocol,可以提高tomcat的并发能力。