linux中启动tomcat,显示tomcat started.实际却没启动的问题
问题背景:
在linux复制tomcat,将tomcat中webapps目录下自己原来发布过的项目直接删除后启动tomcat
./startup.sh
在linux中启动tomcat后,控制台显示tomcat started,查看tomcat却没有进程启动。
ps -ef | grep tomcat
发现并没有tomcat启动。
由于之前修改了配置等文件,于是找了很久,以为是配置改错了。
最后使用控制台输出日志的方式启动,
./catalina.sh run
查看启动日志发现其中一行:
Tomcat 8.0 启动失败 Caused by: The main resource set specified [*] is not valid
里面显示说我曾经的一个项目没有找到,那个项目正是我删除的项目。
于是检查发现,是之前在tomcat上发布过该项目,但是之后我又删除了它,因此无法找到这个目录。
解决办法:
解决办法最后进入了tomcat的安装目录中/conf/server.xml文件,找到<context. 标签开头的代码,把和报错项目相关的行删除!然后再次启动tomcat。
./startup.sh
ps -ef | grep tomcat
发现tomcat启动成功。
补充:
启动tomcat的方式:
切换到tomcat主目录下的bin目录(cd usr/local/tomcat/bin)
1,启动tomcat服务
方式一:直接启动 ./startup.sh
方式二:作为服务启动 nohup ./startup.sh &
方式三:控制台动态输出方式启动 ./catalina.sh run 动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务
解释:
通过方式一、方式三启动的tomcat有个弊端,当客户端连接断开的时候,tomcat服务也会立即停止,通过方式二可以作为linux服务一直运行
通过方式一、方式二方式启动的tomcat,其日志会写到相应的日志文件中,而不能动态地查看tomcat控制台的输出信息与错误情况;通过方式三可以以控制台模式启动tomcat服务,直接看到程序运行时后台的控制台输出信息,不必每次都要很麻烦的打开catalina.out日志文件进行查看,这样便于跟踪查阅后台输出信息。tomcat控制台信息包括log4j和System.out.println()等输出的信息。
2,关闭tomcat服务
./shutdown.sh