Не удалось запустить сервер rabbitmq в centos 7 с помощью systemctl

Я пытаюсь запустить сервер rabbitmq в centos 7. Я установил erlang, так как он зависит от сервера rabbitmq. Пакет erlang.x86_64 0:R16B-03.7.el7. Затем я установил rabbitmq, используя пакет rabbitmq-server-3.2.2-1.noarch.rpm. Установка прошла успешно. Я включил консоль управления uisng rabbitmq-plugins enable rabbitmq_management. Но при запуске службы rabbitmq-server происходит сбой.

[root@tve-centos ~]# systemctl start rabbitmq-server.service
Job for rabbitmq-server.service failed. See 'systemctl status rabbitmq-server.service' and 'journalctl -xn' for details.
[root@tve-centos ~]# systemctl status rabbitmq-server.service
rabbitmq-server.service - LSB: Enable AMQP service provided by RabbitMQ broker
   Loaded: loaded (/etc/rc.d/init.d/rabbitmq-server)
   Active: failed (Result: exit-code) since Fri 2014-09-12 13:07:05 PDT; 8s ago
  Process: 20235 ExecStart=/etc/rc.d/init.d/rabbitmq-server start (code=exited, status=1/FAILURE)

Sep 12 13:07:04 tve-centos su[20245]: (to rabbitmq) root on none
Sep 12 13:07:05 tve-centos su[20296]: (to rabbitmq) root on none
Sep 12 13:07:05 tve-centos su[20299]: (to rabbitmq) root on none
Sep 12 13:07:05 tve-centos rabbitmq-server[20235]: Starting rabbitmq-server: FAILED - check /var/log/rabbitmq/startup_{log, _err}
Sep 12 13:07:05 tve-centos rabbitmq-server[20235]: rabbitmq-server.
Sep 12 13:07:05 tve-centos systemd[1]: rabbitmq-server.service: control process exited, code=exited status=1
Sep 12 13:07:05 tve-centos systemd[1]: Failed to start LSB: Enable AMQP service provided by RabbitMQ broker.
Sep 12 13:07:05 tve-centos systemd[1]: Unit rabbitmq-server.service entered failed state.

и журналы показывают /var/log/rabbitmq/startup_log BOOT FAILED ===========

Error description:
   {could_not_start,rabbitmq_management,
                    {could_not_start_listener,[{port,15672}],eacces}}

Log files (may contain more information):
   /var/log/rabbitmq/[email protected]
   /var/log/rabbitmq/[email protected]

но ни один процесс не использует порт 15672

Но если я попытаюсь запустить его с помощью /usr/sbin/rabbitmq-server, я успешно запустил службу. Но мои требования - запустить его с помощью systemctl.


person Vignesh Kumar    schedule 12.09.2014    source источник


Ответы (3)


Похоже проблема с портом. Чтобы подтвердить это

systemctl stop firewalld
systemctl disable firewalld 

И на время отключите SELinux в файле /etc/selinux/config

SELINUX=disabled

Попробуйте перезагрузить компьютер и посмотреть, сохраняется ли проблема.

person KarthikJ    schedule 12.09.2014
comment
Как правило, всегда следует запускать брандмауэр и оставлять SELINUX включенным; поэтому, как только проблема будет выявлена, настоятельно рекомендуется снова включить их. Вы можете запустить tcpdump, чтобы выяснить, какие порты брандмауэра заблокированы (или начать с включения тех, которые, как известно, нужны rabbitmq), и вы можете использовать audit2allow, чтобы выяснить, какая политика SELINUX/логическое значение блокирует службу. Смотрите ответ @chriscowley. - person JJC; 11.07.2016

Лучшим ответом было бы исправить SELinux и брандмауэр.

Откройте порт:

firewall-cmd --permanent --add-port=5672/tcp
firewall-cmd --reload
setsebool -P nis_enabled 1

Это подходит для меня.

person chriscowley    schedule 16.11.2014
comment
Я на CentOS Linux release 7.0.1406 (Core) и получаю сообщение об ошибке последней команды Boolean nisenabled is not defined - person pyCthon; 23.12.2014
comment
@pyCthon попробуйте без моей опечатки :-) логическое значение на самом деле nis_enabled, а не nisenabled. Извини - person chriscowley; 27.12.2014
comment
Благодарю вас! Я, наконец, тоже запустил этот метод. Мне не хватало командного бита setsebool - person Maverik; 13.01.2015
comment
Вероятно, вам следует исправить ту же опечатку в своем блоге. ;) - person Steve; 29.01.2015
comment
И это не раскрывает порт миру, верно? Или где можно настроить Rabbit на прослушивание только на петлевом интерфейсе? - person TheRealChx101; 25.04.2019

После запуска этой команды:

[root@gcp-hehe-amqp ~]# /sbin/service rabbitmq-server start

И получаю ошибку:

Redirecting to /bin/systemctl start rabbitmq-server.service
Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details"

После многих попыток я решил ошибку, выполнив следующее:

  1. запустить команду: firewall-cmd --permanent --add-port=5672/tcp
  2. затем: firewall-cmd --reload
  3. измените это: SELINUX=disabled в /etc/selinux/config
  4. Включите прокси-протокол в значение true в /etc/rabbitmq/rabbitmq.conf.

    proxy_protocol = true

person Jeanne Y.    schedule 05.10.2018