注:还有一点问题,这个版本的 context.xml 文件怎么都无法修改,它说文件是只读的,但是属性中并非如此,所以,对于该文件的那个
raloadable="true" ,没有进行修改
PS:点击 Tomcat 文件夹下 的 startup.bat 是启动 Tomcat 服务器的一种方式,但是要注意命令提示符中显示的信息,它可能说出了什么错误,而且很严重,
但是它并没有影响我们打开 欢迎界面,这种情况下并不能将问题忽略,例如我刚开始的那个版本就要很多问题,但是没什么影响,而且看视频,那个老师好像也有问题,
所以就导致了这么多悲剧啊!
以下是问题解决过程中找到的一些还蛮有用的文章,留着以后方便解决问题,呵呵呵
相关内容的引文
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
引用地址:http://blog.csdn.net/xttgx/archive/2009/11/15/4813044.aspx CSDN博客
今天费了一点时间找我tomcat在myeclipse里面能启动,而我直接点击tomcat文件夹里面的tomcat5.exe或satartup.bat却无法启动的原因。
从tomcat日志里面看到的错误是:[2009-11-15 16:02:05] [924 prunsrv.c] [error] Failed creating java ;
[2009-11-15 16:02:05] [1179 prunsrv.c] [error] ServiceStart returned 1。把这两句话剪贴出来Google,答案是说要把一个什么
mvcr71.ddl文件放到windows的system32里面,我把所说的文件下下来,然后复制进去,提示里面有这个文件,而且修改日期我这个更新,于是我放弃了复制.
有人说是jdk的原因,myeclipse能启动是因为myeclipse用的是自带的jre,jdk的jre可能有问题,我试着备份了jdk里面的jre文件,
然后把myeclipse的jre文件复制覆盖了jdk里面的jre,运行tomcat的startup还是不行。
于是乎,再看看另外的留言,借来一点灵感:dos--cmd--d:--cd tomcat/bin--startup.bat,回车之后出现这样的提示:
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
带着这两个问题Google,得到了一条有用的消息:JAVA_HOME 是特殊的变量.大多数情况是不需要的,但是如果你装一些服务器软件或者开发工具,比如tomcat或者ant等等,就需要了。
于是乎,我配置了一下JAVA_HOME的环境变量,结果再运行startup.bat,yeah!ok!
在此附上jdk的环境变量配置方法:
变量名JAVA_HOME 赋值“<JDK安装路径目录>”,如我的是“C:\JDK;”;
变量名CLASSPATH 赋值“.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;”;
(*注意,%JAVA_HOME%可以由<JDK安装路径目录>替换。其实%JAVA_HOME%就是上面的变量。)
变量PATH赋值“%JAVA_HOME%\bin;”;
例如: 这是jdk的位置:D:\jdk1.5.0
配置环境变量:
JAVA_HOME: D:\jdk1.5.0
PATH: D:\jdk1.5.0\bin;
CLASSPATH: .;D:\jdk1.5.0\lib\tools.jar;
看了之后,我修改了我的 Java 环境,但还是没有成功!
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
引文地址:http://www.oelandau.com/viewnews-5648
问题如下:
安装上tomcat后,启动可以成功,Welcome页面可以进入,之后关闭tomcat,在MyEclipse->service中配置好tomcat后可以启动,
再启动电脑上的tomcat就会遇见启动后自动关闭的问题了。
解决措施如下:
MyEclipse->service启动tomcat后查看端口就会发现javaw会占用8080,8005,8009端口,以至于tomcat默认的端口全都被占用,
电脑上的tomcat就无法启用了,处理措施就是把tomcat安装文件下conf中的server.xml中的端口8080,8005,8009全都改掉(如改为8006,8007,8008),
这样子启动tomcat问题就解决了,查看端口8080,8005,8009,8006,8007,8008都处于listening状态,全无关tomcat与jdk版本冲突问题,
之前用MyEclipse7.0时并没有遇见此问题,此次用MyEclipse8.5,MyEclipse6.0都遇见此问题了,记于此处以备后用!
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
引文地址:http://blog.csdn.net/hansoft/archive/2006/04/01/647060.aspx CSDN 博客
如果需要把一个alpha版的web应用部署到一台机器上的tomcat中作测试,而这台机器上的tomcat同时还运行着其他的一些比较重要的web应用,你会怎么做?
显然不能简单地把它和重要的web应用放在一起,那样的话alpha版应用的崩溃会同时使其他应用也不能工作,因为它们是运行在同一个JVM上的。
这时应该安装另外一份tomcat,使alpha版的应用在该tomcat里运行,这时需要修改conf/server.xml使两个tomcat占用的端口不相同,
在缺省配置的情况下,tomcat使用了三个端口:
这样,不仅两个tomcat里的应用不会互相影响,而且两个tomcat程序也可以分别升级。但是如果我们希望两组web应用分别运行在不同的JVM上,
但是使用的tomcat版本又必须一致,这种方法就稍显麻烦,因为如果要升级tomcat版本就必须同时升级两个。其实tomcat是可以在一个程序版本上运行多个instance的:
tomcat有个环境变量CATALINA_BASE,用来指定一个目录,tomcat是依据该目录的内容来实现大部分的启动工作的,包括我们最关心的web app的加载,该目录由conf,logs,shared,webapps,work,temp子目录组成。这样,为每个instance新建一个目录,配置好其内容(注意同样要修改server.xml使端口不一样),
然后在启动每个instance时使CATALLINA_BASE指向该instance对应的目录,就能实现启动多个instance的目的。可以在instance对应的目录下写一个startup.bat来完成
该instance的启动工作,该脚本使用脚本所在的目录作为CATALINA_BASE,可以在从任何目录下运行,并且保留了tomcat启动脚本的参数:
@echo off set CMD_LINE_ARGS= :setArgs if ""%1""=="""" goto doneSetArgs set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift goto setArgs :doneSetArgs set EXECUTABLE=%CATALINA_HOME%\bin\startup.bat set CATALINA_BASE=%~dp0
call "EXECUTABLE" %CMD_LINE_ARGS%
是个高手写的,写的很好,可是就是看不懂啊,简单地说就是改端口号,下面就清楚了
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
引文地址:http://blog.csdn.net/jiaxy917/archive/2008/10/15/3075713.aspx CSDN博客
两个tomcat都用的是zip文件
安装第二个Tomcat完成后,到安装目录下的conf子目录中打开server.xml文件,查找以下三处:
(1) 修改http访问端口(默认为8080端口) <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080"
minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="20000"
useURIValidationHack="false" disableUploadTimeout="true" />
(大概在86行左右)将8080修改为第一个tomcat不在使用的端口号。此处所设的端口号即是以后访问web时所用的端口号。
(2) 修改Shutdown端口(默认为8005端口) <Server port="8005" shutdown="SHUTDOWN" debug="0">
(大概在13行左右)将8005修改为没有在使用的端口号,例如8095
(3) 修改JVM启动端口(默认为8009端口) < Connector className ="org.apache.coyote.tomcat4.CoyoteConnector"
port ="8009" minProcessors ="5" maxProcessors ="75"
enableLookups ="true" redirectPort ="8443"
acceptCount ="10" debug ="0" connectionTimeout ="20000"
useURIValidationHack ="false"
protocolHandlerClassName ="org.apache.jk.server.JkCoyoteHandler" />
(大概在107行左右)将8009修改为没有在使用的端口号,例如8099