Tomcat 6.0 配置--虚拟目录的设置+多域名绑定

11年前

优点:tomcat6.0可以自动更新类和页面,当然如果修改了配置文件,或者web.xml和lib,则需要重启tomcat才可以.
配置更方便,开设站点只需修改一个conf文件。

Step 1 JDK安装
----------------------------------------------------------------------------------
1.1 点击jdk-6u1-windows-i586-p.exe文件安装Jdk,选择目录(假使E:\jdk1.6),一路回车,安装完成
1.2 添加JAVA环境变量(我的电脑右键->属性->高级->环境变量->系统变量)
CLASSPATH 设置变量值 .;%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;%JAVA_HOME%/lib;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar
JAVA_HOME 设置变量值 C:\Program Files\Java\jdk1.6.0
PATH 设置变量值 .;%JAVA_HOME%;%JAVA_HOME%/bin;(原来里面有内容的话 最后加入就行)
1.3 在DOS命令行状态下测试Java是否成功安装,敲入java -version可以查看版本
c:\>java -version
java version "1.6.0_01"
Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
Java HotSpot(TM) Client VM (build 1.6.0_01-b06, mixed mode, sharing)
1.4 测试HelloWorld,新建一个HelloWorld.java的文件,内容如下
public class HelloWorld {
public static void main(String arg[]) {
System.out.println("Hello World!这是Java测试程序,说明你已成功安装了Java -- Jarry!");
}
}
在命令行输入javac HelloWorld.java,编译一下,然后再执行java HelloWorld,就能看到正常的输出了。
出现错误一般是环境变量或大小写等有问题,仔细检查就没有问题了。


Step 2 Tomcat安装
----------------------------------------------------------------------------------
2.1 点击apache-tomcat-6.0.10.exe文件安装Tomcat,选择目录(假使d:\Tomcat)安装完成后
2.2 添加TOMCAT环境变量(我的电脑右键->属性->高级->环境变量->系统变量)
TOMCAT_HOME 设置变量值 d:/Tomcat
2.3 从程序菜单或是服务里启动Tomcat,然后你在浏览器输入http://localhost:8080/就可以看到Tomcat欢迎页面。
正常情况下都会成功,如果启动失败,请检查jakarta_service_日期.log日志,通过它一般可以解决问题。

比如出现类似报错:
[947 prunsrv.c] [error] Failed creating java
看一下系统盘windows/system32/下是否丢失msvcr71.dll文件,如果缺失,需要从别的机器拷贝一个过来。

打开浏览器 进入http://localhost:8080/,当看见Tomcat小猫的图标了,这样表示安装成功。

至此,JSP服务器就搭建完成了,用于学习和测试没有问题了,如果想要更高级的配置,可以往下面继续看。

Tomcat 6与Tomcat 5或者之前版本不一样的就是,首页没有显示具体的版本,猫猫也变大了些。
没有admin管理页面了,admin在Tomcat 5.5来默认都没有了,不过可以下载admin包。
而Tomcat 6.0没有看见admin包,不过这并不要紧,一般情况下也不需要admin包。

Tomcat 6.0默认也没有开启servlet、禁止目录浏览。这需要去conf/下配置web.xml文件。
修改listings为true即可以目录浏览,

<param-name>listings</param-name>
<param-value>true</param-value>
<!-- false disable listings -->
<!-- <param-value>false</param-value>-->

开启servlet直接访问功能,把这两段注释打开。

<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>


2.4 部署一个新项目chengqun,去conf/下配置server.xml

<Context path="/chengqun" docBase="d:\tomcat\webapps\chengqun"></Context>

chengqun是你程序的目录 重启Tomcat,访问http://127.0.0.1:8080/chengqun就可以访问了

======================================================================================================================
域名绑定与虚拟目录设置:
server.xml 的修改方式如下:

(一)多域名绑定

1.如果你要绑定网站,首先是要把tomcat的默认访问端口8080,修改成80

原始:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

修改后:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

其实这里就是把port:8080,修改成port:80就可以了,其他的参数不变

2.接下来就是重点了哈哈...
单个域名绑定:
原始:
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" />
</Engine>
当然这里我把注释代码统统删除掉了,省的碍眼


修改后:
<Host name="chengqun.202.71one.com" debug="0" appBase="d:\wwwroot\chengqun"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="d:\wwwroot\chengqun"></Context>
</Host>

多域名绑定:
<Host name="chengqun.202.71one.com" debug="0" appBase="d:\wwwroot\chengqun"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Alias>chengqun.202.71one.com</Alias>
<Alias>chengqun1.202.71one.com</Alias>
<Alias>chengqun2.202.71one.com</Alias>
<Context path="/" docBase="d:\wwwroot\chengqun"></Context>
</Host>

这里面的参数还有很多,我也不是很清楚,不过这样做确实可以实现多域名绑定哈哈.而且网站页面修改了只要直接覆盖就可以了,tomcat可以自动更新类和页面,当然如果修改了web.xml或lib,则需要重启tomcat才可以.


(二)虚拟目录
(1)
<Host name="chengqun.202.71one.com" debug="0" appBase="d:\wwwroot\chengqun"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/chengqun" docBase="d:\wwwroot\chengqun"></Context>
</Host>
其中,Host标记是用来配置虚拟主机的,就是可以多个域名指向一个tomcat,格式只要参考默认的就

可以了。

<context>是Host标记的子元素吧,表示一个虚拟目录,它主要有两个属性,path就相当于虚拟目录名字,

而 docbase则是具体的文件位置。在这里我的虚拟路径名称为chengqun,实际上我的程序也就是html、jsp、

servlet都 放在了d:\wwwroot\chengqun这个目录下了。

这样我就可以通过 chengqun.202. com/chengqun 访问我的这个虚拟目录了。

另外一种方法是:

<Host name="chengqun.202. com" debug="0" appBase="d:\wwwroot\chengqun"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="d:\wwwroot\chengqun"></Context>
</Host>
这样设置以后,输入域名可以访问这个站点程序了(Context path="/"这里不同)
(2)
没有指定默认站点,所以直接输入IP的时候,无法访问。如何让输入ip就可以访问指定的站点呢?
修改server.xml的 <Engine name="Catalina" defaultHost="chengqun.202. com">
这样就可以实现了输入ip访问chengqun.202. com这个站点的程序了