Apache Tomcat
网上有很多,这里做个笔记,免得哪天又忘了
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/进入管理页面。
<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文件, 如下:
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="D:\Project\KissratWeb\WebContent"
reloadable="true" debug="0">
</Context>
</Host>
还是方法三简单,并且改动会立即生效,方便开发。