无法在Linux服务器上启动或停止Tomcat

时间:2017-08-28 08:36:28

标签: java linux tomcat log4j tomcat6

我无法在Linux上启动或停止Tomcat。由于服务器是新的,我们第一次运行它,shutdown.sh会抛出一个异常,虽然我已经放置了log4j.properties:

/tomcat/V6.0/bin$ ./shutdown.sh
After calling setenv.sh: Using JAVA_HOME:       
After calling setenv.sh: Using JRE_HOME:       /usr/java/jdk1.8.0_91/jre
After cygwin: Using JAVA_HOME:       
After cygwin: Using JRE_HOME:       /usr/java/jdk1.8.0_91/jre
log4j:WARN No appenders could be found for logger (org.apache.tomcat.util.digester.Digester.sax).
log4j:WARN Please initialize the log4j system properly.

但是当我运行startup.sh时,它并没有在控制台上显示tomcat启动的任何内容。只打印了以下行。

/tomcat/V6.0/bin$ ./startup.sh
After calling setenv.sh: Using JAVA_HOME:       
After calling setenv.sh: Using JRE_HOME:       /usr/java/jdk1.8.0_91/jre
After cygwin: Using JAVA_HOME:       
After cygwin: Using JRE_HOME:       /usr/java/jdk1.8.0_91/jre

当我尝试启动tomcat时使用localhost会抛出404错误 请有人帮我这个吗?

1 个答案:

答案 0 :(得分:1)

我真的建议升级tomcat,如果是强制性的,那么有人必须承担实施的风险,并说明让我们列出如何正确验证tomcat。

  1. 查看您真正需要的tomcat 6版本,这是list of tomcat 6 releases,如果您强制使用tomcat 6.x然后尝试使用最新版本,我建议v.6.0.53
  2. 将tomcat解压缩到您的磁盘
  3. 确保您为.sh文件夹中的bin脚本授予执行权限。例如,如果您位于tomcat apache-tomcat-6.0.53/bin$>的bin文件夹中,那么您可以运行chmod +x ./*.sh
  4. 确保JAVA_HOME已设置
  5. 在您的bin文件夹中运行startup.sh脚本,如./startup.sh
  6. 使用此命令检查tomcat是否正在运行ps -ef | grep tomcat它将列出与tomcat相关的正在运行的进程。
  7. 尝试停止tomcat,在bin文件夹中运行关闭脚本./shutdow.sh
  8. 使用此命令ps -ef | grep tomcat检查tomcat是否正在运行,如果您没有列出tomcat进程,那么它会成功停止,否则您可以使用kill - 9 <process-number>强制关闭,例如当你运行ps -ef | grep tomcat
  9. ps-ef命令的示例输出

    servername    4328     1  0 21:43 pts/1    00:00:07 /usr/var/jdk1.8.0_111/bin/java -Djava.util.logging.config.file=... tomcat
    servername    4497  4117  0 22:07 pts/1    00:00:00 grep --color=auto tomcat
    

    然后使用此kill -9 4328停止tomcat,因为4328是您从ps -ef输出获得的进程号。

      

    如何访问没有端口号的tomcat?

    如果您需要通过浏览器使用默认端口号访问tomcat服务器,请将连接器配置为http默认端口号80.请参阅以下说明:

    1. 转到apache-tomcat-6.0.53/conf文件夹
    2. 打开server.xml档案
    3. 转到连接器配置,默认情况下如下所示:
    4. 默认连接器配置

      <Connector port="8080" protocol="HTTP/1.1" 
                 connectionTimeout="20000" 
                 redirectPort="8443" />
      
      1. 将端口号更改为80,如下所示:
      2. 端口号为80的连接器配置

        <Connector port="80" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   redirectPort="8443" />
        
        1. 重启tomcat。这里有一个观察,仅适用于linux。前1024个端口仅限root用户,使用此方法只能使用root用户启动tomcat。使用iptables还有另一个解决方案,只有在你必须在没有root用户的情况下启动tomcat的情况下,如果你需要使用端口80并在没有root用户的情况下启动tomcat redirect-port-80-to-8080-and-make-it-work-on-local
        2. ,请参阅此帖子