Apache Tomcat

2014-01-23 18:11

网上有很多,这里做个笔记,免得哪天又忘了

1、下载Tomcat

http://tomcat.apache.org/左边的Download选择需要下载的版本,不同的应用是有版本差异的,新版本有可能反而不兼容。

Binary Distributions:

zip 或 Windows Service Installer 都可以

2、安装

Windows Service Installer 直接安装 或

zip版解压,比如解压到C:\apache-tomcat-6.0.18

3、配置

环境变量-系统变量:

CATALINA_HOME=C:\apache-tomcat-6.0.18

CATALINA_BASE=C:\apache-tomcat-6.0.18

后面千万别多出个\,要写成C:\apache-tomcat-6.0.18\就出错了

CLASSPATH变量后面添加

%CATALINA_HOME%\lib\servlet-api.jar

算上JAVA的一些东东,看起来像下面的样子

.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\lib\servlet-api.jar

PATH环境变量中加入:

 %CATALINA_HOME%\bin

确定

4、启动

打开cmd,运行startup。如果不配置环境变量,直接运行C:\apache-tomcat-6.0.18\bin下的startup.bat文件也可以启动Tomcat。

Tomcat在打印出Server startup in 628 ms后开始悬挂,网站运行时可能接着打印一些日志信息。

没有出错信息的话就就应该可以访问http://localhost:8080了。

Tomcat在哪里启动,哪里就是Tomcat的工作目录。有的程序对工作目录是有要求的,则需先cd到目标目录,再启动Tomcat。

关闭Tomcat使用shutdown.bat,不能像startup一样直接执行shutdown了,shutdown是关机命令,会先被系统执行的。

5、排错

如果运行有冲突,极有可能8080端口被占用了,找找看是哪个程序给占用了,或者修改conf\server.xml中的8080端口。

6、管理

Manager的用户和密码在conf\tomcat-users中修改。打开http://localhost:8080/manager/进入管理页面。

代码
<? xml version='1.0' encoding='utf-8' ?>
< tomcat-users >
   < role  rolename ="manager" />
   < role  rolename ="tomcat" />
   < role  rolename ="admin" />
   < role  rolename ="role1" />
   < user  username ="tomcat"  password ="tomcat"  roles ="tomcat" />
   < user  username ="both"  password ="tomcat"  roles ="tomcat,role1" />
   < user  username ="root"  password ="root"  roles ="admin,manager" />
   < user  username ="admin"  password ="admin"  roles ="admin,manager" />
   < user  username ="role1"  password ="tomcat"  roles ="role1" />
</ tomcat-users >

有时候如果输入用户密码连续出错,就会直接跳转到错误页面,甚至重启Tomcat都无济于事,再也见不到登陆框了,可能是Tomcat在哪里做了时间限制或者系统缓存什么的,可以试着打开http://localhost:8080/manager/html/list或者http://localhost:8080/manager/html/stop?path=/等看看登陆框会不会重现。

7、部署

方法一、直接把项目目录如WebContent拷贝至webapp下,这样用 http://localhost:8080/WebContent/就可以访问了。

方法二、打开http://localhost:8080/manager/进入管理页面,在下面的Deploy一栏中输入要部署的项目,比如想部署项目KissratWeb,相应的参数类似于Context Path (optional):/kissrat,XML Configuration file URL:

\WEB-INF\web.xml,WAR or Directory URL: D:\Project\KissratWeb\WebContent。然后点击Deploy,部署的网站地址为http://localhost:8080/kissrat/ 。注意,这种部署方法其实就是将WebContent拷贝至webapp下面,所以修改原项目并不会反映到已部署的网站上,需要重新部署。

如果想把项目直接部署到网站的根目录,即http://localhost:8080/则可以这样来做:

方法一:Tomcat默认把webapp中的Root作为网站的根目录,所以不改其他配置文件,直接将Root的原内容删除,将自己的部署文件拷贝进来即可。

方法二: 同方法一,只不过将原Root改名或删除,再将自己的WebContent拷贝进来更名为Root,可以用上面的方法二进行,只是把Context Path改成 /,Tomcat会自动把项目部署为Root。

方法三:修改conf\server.xml文件, 如下:

代码
       < Host  name ="localhost"   appBase ="webapps"
            unpackWARs ="true"  autoDeploy ="true"
            xmlValidation ="false"  xmlNamespaceAware ="false" >
                         < Context  path =""  docBase ="D:\Project\KissratWeb\WebContent"
                                       reloadable ="true"  debug ="0" >
                         </ Context >
       </ Host >

还是方法三简单,并且改动会立即生效,方便开发。