• linux中使用命令启动tomcat后显示tomcat started,实际却没启动的问题


    linux中启动tomcat,显示tomcat started.实际却没启动的问题

    问题背景:

    linux复制tomcat,将tomcat中webapps目录下自己原来发布过的项目直接删除后启动tomcat

    ./startup.sh
    
    • 1

    在linux中启动tomcat后,控制台显示tomcat started,查看tomcat却没有进程启动。

    ps -ef | grep tomcat
    
    • 1

    发现并没有tomcat启动

    由于之前修改了配置等文件,于是找了很久,以为是配置改错了。

    最后使用控制台输出日志的方式启动,

    ./catalina.sh run
    
    • 1

    查看启动日志发现其中一行:

    Tomcat 8.0 启动失败 Caused by: The main resource set specified [*] is not valid
    
    • 1

    里面显示说我曾经的一个项目没有找到,那个项目正是我删除的项目。

    于是检查发现,是之前在tomcat上发布过该项目,但是之后我又删除了它,因此无法找到这个目录。

    解决办法:

    解决办法最后进入了tomcat的安装目录中/conf/server.xml文件,找到

    ./startup.sh
    ps -ef | grep tomcat
    
    • 1
    • 2

    发现tomcat启动成功。

    补充:

    启动tomcat的方式:

    切换到tomcat主目录下的bin目录(cd usr/local/tomcat/bin)
    1,启动tomcat服务

    方式一:直接启动 ./startup.sh
    方式二:作为服务启动 nohup ./startup.sh &
    方式三:控制台动态输出方式启动 ./catalina.sh run 动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务
    
    • 1
    • 2
    • 3

    解释:
    通过方式一、方式三启动的tomcat有个弊端,当客户端连接断开的时候,tomcat服务也会立即停止,通过方式二可以作为linux服务一直运行
    通过方式一、方式二方式启动的tomcat,其日志会写到相应的日志文件中,而不能动态地查看tomcat控制台的输出信息与错误情况;通过方式三可以以控制台模式启动tomcat服务,直接看到程序运行时后台的控制台输出信息,不必每次都要很麻烦的打开catalina.out日志文件进行查看,这样便于跟踪查阅后台输出信息。tomcat控制台信息包括log4j和System.out.println()等输出的信息。
    2,关闭tomcat服务

    ./shutdown.sh
    
    • 1
  • 相关阅读:
    手把手带你实现JAVA自定义异常和全局异常处理
    SpringCloud——服务注册——Consul
    《WEB安全漏洞100讲》(第4讲)CSRF漏洞
    Python下sensor_msgs.msg.PointCloud2数据的高效读取
    QPushButton 按钮的创建与简单应用
    OpenCV-Python快速入门(八):图像金字塔
    【数据结构----KMP算法】校招笔试题总结
    Linux网络通信优化方法
    WinGet 换国内源使用帮助
    golang中for循环的使用详解
  • 原文地址:https://blog.csdn.net/m0_67401499/article/details/126582876