Используемые / заблокированные порты в 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 пт 17 апреля 01:58:03 UTC 2009 x86_64 GNU/Linux (виртуальный сервер).

Не совсем уверен, как подойти к этой проблеме.

8 ответов

Отсутствует файл etc/hosts!

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

Простая причина, иногда не следует искать сложные проблемы!

Добавьте 127.0.1.1 your-computer-name в ваш /etc/hosts

и попробуй еще раз!

с уважением.

Как только я получил похожее исключение, и я публикую здесь решение на тот случай, если кому-то нужно копаться:процесс уже использует порт администратора 4848 - возможно, это еще один экземпляр сервера GlassFish.

java.net.BindException: неверные аргументы: bind: 7676=com.sun.enterprise.v3.services.impl.ServiceInitializerHandler

Вам необходимо изменить ключ "net.ipv6.bindv6only" с "1" на "0" в "/etc/sysctl.d/bindv6only.conf", который является параметром ядра, который позволяет приложениям IPV6 прослушивать только IPV6 "запрос" (запрос не является выражением, но вы получите точку)

Другая причина, с которой я только что столкнулся, заключалась в том, что имя хоста и IP-адрес просто не совпадали:

hostname
XXXXXX
hostname -i
XXX.XXX.XXX.42

Номер IP, возвращенный hostname -i отличается от того, который назначен серверу. Я предполагаю, что это заставляет Glassfish пытаться связать порт со старым IP-адресом, возвращаемым hostname -i, который, очевидно, потерпит неудачу.

Проблема была вызвана перемещением машины в другой сегмент сети после установки.

У меня была эта проблема, и виновник находился в / etc / hosts, там было две записи, а команда "hostname" вернула ссылку на вторую запись. Когда вторая запись была сделана первой, например, 127.0.1.1 my.domainname.com (или localhost), это решило проблему.

Для меня проблемой оказалось "имя хоста" из-за множественного интерфейса.

Бежать 'hostname' а затем посмотреть, если вы можете пинговать результаты

Бежать java -jar glassfish3/glassfish/modules/glassfish.jar и проверьте подробные журналы

Установите имя хоста в "localhost" hostname localhost

Суть в том, что ваш сервер имеет проблемы с привязкой к имени хоста (а не к порту, как указано в сообщении об ошибке)

Возможно ли, что он говорит вам, что порт заблокирован на брандмауэре? Если это так, вам нужно настроить правило, разрешающее входящие соединения.

Как предполагает Insyte, точная ошибка может помочь нам устранить неполадки.

Но в случае ничего не полезного из glassfish, вы можете рассмотреть strace(1), чтобы найти системный вызов, который дает сбой, и ошибку, которую он выдает. Вам может понадобиться -f, чтобы следить за разветвленными дочерними процессами, в зависимости от того, как ведет себя стеклянная рыба.

Другие вопросы по тегам