无法使用systemctl在centos 7中启动rabbitmq服务器

无法使用systemctl在centos 7中启动rabbitmq服务器,rabbitmq,centos7,Rabbitmq,Centos7,我正在尝试在centos 7中启动rabbitmq服务器。我安装了erlang,因为它依赖于rabbitmq服务器。包erlang.x86_64 0:R16B-03.7.el7。然后,我使用包rabbitmq-server-3.2.2-1.noarch.rpm安装了rabbitmq。安装成功。我启用了管理控制台使用rabbitmq插件启用rabbitmq_管理。但在启动服务rabbitmq服务器时失败 [root@tve-centos ~]# systemctl start rabbitmq-s

我正在尝试在centos 7中启动rabbitmq服务器。我安装了erlang,因为它依赖于rabbitmq服务器。包erlang.x86_64 0:R16B-03.7.el7。然后,我使用包rabbitmq-server-3.2.2-1.noarch.rpm安装了rabbitmq。安装成功。我启用了管理控制台使用rabbitmq插件启用rabbitmq_管理。但在启动服务rabbitmq服务器时失败

[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\u log 启动失败 ===========

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

Log files (may contain more information):
   /var/log/rabbitmq/rabbit@tve-centos.log
   /var/log/rabbitmq/rabbit@tve-centos-sasl.log
但没有进程使用端口15672


但是如果我尝试使用/usr/sbin/rabbitmq服务器启动它,我成功地启动了该服务。但我的要求是使用systemctl启动它

看起来像是端口问题。证实

systemctl stop firewalld
systemctl disable firewalld 
并暂时在/etc/SELinux/config文件中禁用SELinux

SELINUX=disabled

尝试重新启动计算机,看看问题是否仍然存在。

更好的答案是实际修复SELinux和防火墙

打开端口:

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

这对我适用。

运行此命令后:

[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"
经过多次尝试,我通过以下方式解决了错误:

  • 运行命令:
    firewall cmd--permanent--add port=5672/tcp
  • 然后:
    firewall cmd--reload
  • 更改此选项:
    SELINUX=disabled
    at/etc/SELINUX/config
  • 在/etc/rabbitmq/rabbitmq.conf上将代理协议启用为true

    代理协议=true


  • 我在
    CentOS Linux 7.0.1406版(Core)
    上,在最后一个命令
    Boolean-niseenabled没有定义
    @pyCthon-try没有我的输入:-)上有一个错误,布尔值实际上是
    niseu-enabled
    没有
    niseenabled
    。对不起,谢谢!我最终也用这个方法运行了它。我丢失了setsebool命令bit。你可能应该纠正你博客上的相同错误。;)这不会让世界看到这个港口,对吗?或者,在哪里可以配置Rabbit只在环回接口上侦听?作为一项规则,应该始终运行防火墙并保持启用SELINUX;因此,一旦发现问题,强烈建议重新启用这些功能。您可以运行tcpdump来帮助确定哪些防火墙端口被阻止(或者从启用rabbitmq已知需要的端口开始),并且可以使用audit2allow来确定哪些SELINUX策略/布尔值正在阻止服务。见@chriscowley的答案。