TomCat配置记录

今天突发奇想,安装了Tomcat,去了官网【http://tomcat.apache.org/】下载Tomcat,我选择的版本是7.0.47,根据网上给的提示,需要先配置JDK,这个我之前就安装好了,这点也就不多做介绍了,然后就是tomcat的环境变量设置。

CATALINA_HOME = D:\Program Files\Java\TomCat\apache-tomcat-7.0.47

CATALINA_BASE = D:\Program Files\Java\TomCat\apache-tomcat-7.0.47

这两个环境变量是一致的。

随后是CLASSPATH,在这里面添加一条common\lib下的servlet.jar,这条说明是针对低版本的Tomcat而言的,对于高版本的,就没有common这个目录,不过要想找到servlet并不难,就是lib目录下的servlet.api.jar,添加到CLASSPATH中,即添加%CATALINA_HOME%\lib\servlet-api.jar

按照参考说明,这个时候需要启动tomcat,并打开localhost:8080进行成功验证。启动tomcat的方法是打开bin目录下的startup.bat,不过在跑的时候,报端口占用错误。

严重: Failed to initialize end point associated with ProtocolHandler ["http-apr-8080"]
在搜了些资料的基础上,明白既然是端口占用那就只有两个解决方法,一个是更改tomcat默认端口,即8080,另一个方法就是找出是谁占用了这个8080端口,然后kill it

首先我们讲讲第一种方法,网上其实也有很多资料。就是找到config目录下的server.xml找到如下内容

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

修改8080为其他端口,比如8090或其他。

TomCat配置记录_第1张图片

当然这个方法自然可以,但是在好奇心的驱使下,还是希望查出到底是谁占用了我的8080端口,所以,又做了以下工作。

cmd——>netstat -ano   查看所以端口占用情况,找找8080端口被那个占用了。

TomCat配置记录_第2张图片

记录下占用进程的PID 即3556,这个是变化了,可能你重启计算机的时候,就不是这个编号了。

然后打开任务管理器Ctrl+Alt+Del,找到进程项

TomCat配置记录_第3张图片

不过这个地方一般没有PID,不方便查找,所以这个时候,选择查看——选择列,把PID(进程标识符)勾选上。

TomCat配置记录_第4张图片

这下就可以看到那个标志为3556的进程了。

TomCat配置记录_第5张图片

一般来说,只要把进程杀掉就行了,但是考虑到是系统进程,不晓得突然杀掉会不会对系统造成什么损伤,所以还是不敢轻易操刀,于是去百度了下进程名为inetinfo.exe到底是什么来头。

百度百科的解释

http://baike.baidu.com/link?url=jdiMDaxwIxW2DW3XlLpdlciabTX51rFToPsEGW3JTe3TuxHIW3iYx2QkOAzfn_nk

这一搜才发现原来是IIS的服务进程,于是恍然大悟,之前由于用的是C#,所以把IIS开启了,没想到就是它占用了我的8080端口,所以当时涌入脑海的只有一个念头就是卸掉IIS,不过一回想起来当初在XP系统上安装IIS的种种困难,所以又于心不忍。

于是看到百科里的介绍

正常情况下,inetinfo.exe 是 IIS admin Service 或 world wide web publishing service 如果你的机器不需要以上两个服务,可以中止以上两个服务 要打开服务管理器,请开始——运行——输入 services.msc即可!
所以我想只要把服务停掉应该就可以了,所以赶快去找服务。

TomCat配置记录_第6张图片


为了防止重启后死而复活,停止之后都将他们设置为手动。

这下netstat -ano去查,果然在没有其他来占用我的8080端口了,安然启动startup.bat,并进入了localhost:8080

TomCat配置记录_第7张图片

到此为止,算是成功配置了,其实主要问题在于之前启动过IIS,一直没关,大部分童鞋应该不会遇到我这样的问题,简单记录,以飨来者。

你可能感兴趣的:(tomcat,配置,问题总结)