Tomcat在本地主机上未响应,但通过apache2 / mod_jk工作

时间:2018-10-01 18:07:24

标签: java apache tomcat networking mod-jk

Tomcat不响应对localhost:8080的调用

curl localhost:8080/user-service/1/user

工作正常,但是

netstat -tnlp

挂了几个小时,再也没有响应。

Class EmployeeDto{
    public Integer employeeId; 
    public String employeeName; 
    public String department;
}

显示

  

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1504 / sshd
  tcp6 0 0 ::: 443 ::: *听1559 / apache2
  tcp6 0 0 ::: 9090 ::: * LISTEN 19341 / java
  tcp6 0 0 ::: 46467 ::: * LISTEN 19341 / java
  tcp6 0 0 127.0.0.1:8005 ::: * LISTEN 19341 / java
  tcp6 0 0 ::: 8009 ::: * LISTEN 19341 / java
  tcp6 0 0 ::: 8080 ::: * LISTEN 19341 / java
  tcp6 0 0 ::: 80 ::: *听1559 / apache2

但是本地主机调用甚至没有显示在本地主机访问日志中

我们正在运行apache2,mod_jk和tomcat8。

我没有看到错误。任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

您的tomcat实例期望与端口8080建立IPv6地址连接(tcp6表示ipv6连接)。

要解决此问题,请在您的TOMCAT_HOME\bin目录中创建一个名为setenv.sh的文件(如果尚不存在)并添加以下内容

JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true

这将使tomcat重新启动时绑定到IPv4。

您可以通过再次运行netstat命令进行检查,而不是看到tcp6代表8080,它应该只显示tcp