Tomcat是Java Web开发最为常用的web容器。说来惭愧,从写第一个Java的Hello World程序迄今已3年有余,对Tomcat的使用却也一直停留在Hello World级别。鉴于此,决定对Tomcat的日常工作使用做一个比较完整全面的总结。
<一>. 简介:
Tomcat是由Apache软件基金组织开发的免费开源的Java We容器,不支持EJB规范。针对EJB程序的开发需要专门的EJB容器,比如免费开源的JBoss、或者商业用途的WebLogic、Websphere等。
<二>. Windows平台的安装:
1. 将apache-tomcat-6.0.41.zip解压缩到目录E:\study\tomcat\doc
2. 启动/关闭:进入cmd命令行执行操作
E: #切换盘符 cd E:\study\tomcat\doc\apache-tomcat-6.0.41\bin #进入/bin目录 startup.bat #启动服务 shutdown.bat #关闭服务或者关闭窗体“X”
3. 设置环境变量:
创建CATALINA_HOME变量,设置为Tomcat的根目录:E:\study\tomcat\doc\apache-tomcat-6.0.41
添加Tomcat的/bin目录到环境变量:%CATALINA_HOME%\bin;
执行脚本或者输入命令验证:
startup.bat shutdown.bat
4. 常见错误:
<1>. 发现CATALINA_HOME变量的设置并未生效:执行如下命名,发现CATALINA_HOME并不是自己所设置的位置。重新打开环境变量设置界面,发现之前有设置过Administrator用户的CATALINA_HOME变量、删除即可。
echo %CATALINA_HOME%
<2>. 在机器上面安装两个Tomcat,只设置了其中一个Tomcat的环境变量。分别以不同的端口启动,发现执行未设置环境变量的Tomcat的startup.bat脚本,启动的却是设置了环境变量的Tomcat,原因分析:
通过阅读启动脚本startup.bat得知,catalina.bat脚本的位置优先从变量CATALINA_HOME位置获取,
因此如果需要启动不同端口的Tomcat服务器,将不能设置CATALINA_HOME变量。脚本startup.bat文件包含如下行:
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
<3>. 有些时候,我们通过执行shutdown.bat脚本进行关闭操作后,发现无法再次启动,提示端口占用,这是因为Tomcat进程并未关闭。
netstat -aon | find "8080" #查看Tomcat的进程PID taskkill /PID 2504 #关闭Tomcat进程即可
<三>. Linux平台的安装:
1. 安装tomcat:使用nick账号上传apache-tomcat-6.0.37.tar.gz到/software目录,然后依次执行如下命令
su - nick #切换账号 cd /software #切换路径 mv apache-tomcat-6.0.37.tar.gz /usr/local #移动文件 cd /usr/local #切换路径 tar -zxvf apache-tomcat-6.0.37.tar.gz #进行安装 rm apache-tomcat-6.0.37.tar.gz #删除安装程序 mv apache-tomcat-6.0.37 tomcat #重命名安装目录
启动/关闭:
cd /usr/local/tomcat/bin #进入bin路径 ./startup.sh #启动 ./shutdown.sh #关闭
2. 设置环境变量:
echo $PATH #查看PATH cd ~ #切换到主目录 vi .bash_profile #编辑当前用户的环境变量
追加如下内容:
CATALINA_HOME=/usr/local/tomcat PATH=$CATALINA_HOME/bin:$PATH export CATALINA_HOME PATH
立即失效:
source .bash_profile
启动/关闭:在任意路径下执行
startup.sh shutdown.sh
3. 防火墙设置:开放8080端口
su - root #切换为root账号 vi /etc/sysconfig/iptables #编辑iptables文件
追加如下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
重启网卡生效:
service iptables restart
4. 常用命令:
在执行startup.sh和shutdown.sh无法正常启动、关闭Tomcat的时候,可以执行端口查看命令查看到Tomcat的进程号:
netstat -apn | grep 8080
或者执行进程查看命令,可查看到JDK、Tomcat的安装位置,JVM参数设置、JMX参数设置:
ps -ef | grep tomcat ps -ef | grep java
然后,关闭进程即可:
kill 2205 #关闭进程 kill -9 2205 #强制关闭
==============================================
欢迎拍砖或点赞!