Jenkins зависает без ошибок при запуске

Итак, я попытался исследовать эту проблему, но дошел до того, что я больше не понимаю, что читаю (просматривая отчеты об ошибках и списки рассылки

Я установил Jenkins и Java на свой сервер под управлением CentOS 6.8. Сначала у меня было несколько проблем с запуском сервиса, но с тех пор я их решил. Теперь остановка службы и ее запуск дает мне красивое зеленое сообщение ОК, в котором говорится, что с миром все в порядке. Когда я запускаю службу jenkins status , я получаю jenkins (pid 32178) работает ... . Но когда я пытаюсь получить доступ к своему серверу с IP-адресом моего сервера и номером порта (который я изменил на 8888), он просто зависает, а затем сообщает, что сайт слишком долго отвечал.

Итак, я посмотрел свои журналы jenkins и все выглядело нормально, даже получить это сообщение ИНФОРМАЦИЯ: Jenkins полностью запущен и работает , но чуть ниже я получаю:

WARNING: Prober().run() exception
java.io.IOException: Operation not permitted
    at java.net.PlainDatagramSocketImpl.send(Native Method)
    at java.net.DatagramSocket.send(DatagramSocket.java:693)
    at javax.jmdns.impl.JmDNSImpl.send(JmDNSImpl.java:1537)
    at javax.jmdns.impl.tasks.state.DNSStateTask.run(DNSStateTask.java:131)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)

Jun 22, 2016 12:08:59 AM javax.jmdns.impl.JmDNSImpl __recover
WARNING: RECOVERING
Jun 22, 2016 12:08:59 AM javax.jmdns.impl.tasks.state.DNSStateTask run
WARNING: Canceler().run() exception
java.io.IOException: Operation not permitted
    at java.net.PlainDatagramSocketImpl.send(Native Method)
    at java.net.DatagramSocket.send(DatagramSocket.java:693)
    at javax.jmdns.impl.JmDNSImpl.send(JmDNSImpl.java:1537)
    at javax.jmdns.impl.tasks.state.DNSStateTask.run(DNSStateTask.java:131)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)

Итак, я поискал решение этой проблемы и сначала нашел несколько вариантов должен был убедиться, что мой сервер прослушивает выбранный мной порт (8888). Итак, я запустил netstat -tuplen и увидел ::: 8888 с состоянием LISTEN и java в качестве имени программы. Это заставляет меня думать, что система прослушивает этот порт, хотя, возможно, я ошибаюсь. Я также нашел длинный список рассылки, 75% которого я не понял, но все сводилось к тому, чтобы проверить, включена ли многоадресная рассылка на сервере, поэтому я запустил ifconfig eth0 и получил UP BROADCAST RUNNING MULTICAST в большом блоке текста, что наводит меня на мысль, что многоадресная рассылка включена.

Кроме того, моя версия java, если openjdk 1.8.0_91, поскольку я знаю, что Jenkins не любит обычную java похоже, он установлен на машинах CentOS.

Просто интересно, в чем еще может быть проблема, когда Jenkins не запускается и выдает эту ошибку, и что я могу сделать, чтобы исправить это. По большей части я новичок в подобных вещах, поэтому более подробная информация будет полезна.

0
задан 22 June 2016 в 08:25
1 ответ

Итак, когда я настраивал Jenkins, в инструкциях, которым я следовал, не было замечено, что есть разница между запуском Jenkins на собственном сервере и запуском Jenkins на веб-сервере, на котором также был запущен Apache.

После того, как я выяснил, что разница действительно есть, я пошел немного другим путем с моей конфигурацией jenkins.

Я добавил - prefix = / jenkins к JENKINS_ARGS в jenkins конфигурационный файл. Я также изменил порт, который Дженкинс слушал на 8081, и изменил IP-адрес, который слушал Дженкинс, с 0.0.0.0 на 127.0.0.1

Затем я добавил:

ProxyPass         /jenkins  http://localhost:8081/jenkins nocanon
ProxyPassReverse  /jenkins  http://localhost:8081/jenkins
ProxyRequests     Off
AllowEncodedSlashes NoDecode

<Proxy http://localhost:8081/jenkins*>
  Order deny,allow
  Allow from all
</Proxy>

К моему Файл конфигурации Apache. Это устранило мою проблему и позволило мне получить доступ к Jenkins.

1
ответ дан 4 December 2019 в 16:34

Теги

Похожие вопросы