Ubuntu 中使用/阻止的端口

Ubuntu 中使用/阻止的端口

启动 Glassfish AS 会告诉我端口 4848 被阻止(或我配置的任何端口)。但检查端口未被使用。没有防火墙。

root@ubuntu:~/glassfishv3/glassfish/bin# netstat -tlunp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2149/sshd       
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      2441/cupsd      
tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      2075/postgres   
tcp6       0      0 :::22                   :::*                    LISTEN      2149/sshd       
tcp6       0      0 :::5432                 :::*                    LISTEN      2075/postgres   
udp        0      0 0.0.0.0:68              0.0.0.0:*                           2082/dhclient3  
udp        0      0 0.0.0.0:39256           0.0.0.0:*                           2413/avahi-daemon: 
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           2413/avahi-daemon: 

Ubuntu 9.04 Linux ubuntu 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:58:03 UTC 2009 x86_64 GNU/Linux(它是一个虚拟服务器)。

不太确定如何解决这个问题。

答案1

缺少 etc/hosts 文件!

java.net.UnknownHostException: ubuntu: ubuntu
    at java.net.InetAddress.getLocalHost(InetAddress.java:1353)
    at com.sun.enterprise.util.net.NetUtils.getCanonicalHostName

简单的道理,有时候不应该去寻找复杂的问题!

答案2

将 127.0.1.1 你的计算机名称添加到你的 /etc/hosts

然后再试一次!

此致。

答案3

一旦我遇到类似的异常,我就会在这里发布解决方案,以防有人需要它: 已经有一个进程正在使用管理端口 4848 - 它可能是 GlassFish 服务器的另一个实例。

java.net.BindException:无效参数:bind:7676=com.sun.enterprise.v3.services.impl.ServiceInitializerHandler

然后,您必须将“/etc/sysctl.d/bindv6only.conf”中的键“net.ipv6.bindv6only”从“1”更改为“0”,这是一个内核参数,启用后 IPV6 应用程序可以仅监听 IPV6“请求”(请求不是表达式,但您明白了)

答案4

对我来说,问题是由于多个接口而导致的“主机名”。

运行'hostname'然后看看是否可以 ping 结果

运行java -jar glassfish3/glassfish/modules/glassfish.jar并检查详细日志

通过以下方式将主机名设置为“localhost”hostname localhost

最主要的是您的服务器无法绑定到主机名(而不是错误消息中所说的端口)

相关内容