无法在Ubuntu 12.04上启动rabbitmq-server

我尝试在Ubuntu-server 12.04上安装rabbitmq-server ,但是失败了。

然后我按照http://www.rabbitmq.com/install-debian.html中的指南添加apt源列表

但重新安装仍然有如下错误:

 $ sudo aptitude install rabbitmq-server ... Setting up rabbitmq-server (2.8.7-1) ... * Starting message broker rabbitmq-server * FAILED - check /var/log/rabbitmq/startup_\{log, _err\} ...fail! invoke-rc.d: initscript rabbitmq-server, action "start" failed. dpkg: error processing rabbitmq-server (--configure): subprocess installed post-installation script returned error exit status 1 No apport report written because MaxReports is reached already Processing triggers for libc-bin ... ldconfig deferred processing now taking place Errors were encountered while processing: rabbitmq-server E: Sub-process /usr/bin/dpkg returned an error code (1) A package failed to install. Trying to recover: Setting up rabbitmq-server (2.8.7-1) ... * Starting message broker rabbitmq-server * FAILED - check /var/log/rabbitmq/startup_\{log, _err\} ...fail! invoke-rc.d: initscript rabbitmq-server, action "start" failed. dpkg: error processing rabbitmq-server (--configure): subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing: rabbitmq-server 

而错误日志似乎显示没有任何有用的:

 # startup_err shows this Crash dump was written to: erl_crash.dump Kernel pid terminated (application_controller) ({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}}) # startup_log shows this {error_logger,{{2012,10,10},{22,31,54}},"Protocol: ~p: register error: ~p~n",["inet_tcp",{{badmatch,{error,epmd_close}},[{inet_tcp_dist,listen,1},{net_kernel,start_protos,4},{net_kernel,start_protos,3},{net_kernel,init_node,2},{net_kernel,init,1},{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}]} {error_logger,{{2012,10,10},{22,31,54}},crash_report,[[{initial_call,{net_kernel,init,['Argument__1']}},{pid,<0.20.0>},{registered_name,[]},{error_info,{exit,{error,badarg},[{gen_server,init_it,6},{proc_lib,init_p_do_apply,3}]}},{ancestors,[net_sup,kernel_sup,<0.9.0>]},{messages,[]},{links,[#Port<0.90>,<0.17.0>]},{dictionary,[{longnames,false}]},{trap_exit,true},{status,running},{heap_size,610},{stack_size,24},{reductions,511}],[]]} {error_logger,{{2012,10,10},{22,31,54}},supervisor_report,[{supervisor,{local,net_sup}},{errorContext,start_error},{reason,{'EXIT',nodistribution}},{offender,[{pid,undefined},{name,net_kernel},{mfargs,{net_kernel,start_link,[[rabbitmqprelaunch18417,shortnames]]}},{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]} {error_logger,{{2012,10,10},{22,31,54}},supervisor_report,[{supervisor,{local,kernel_sup}},{errorContext,start_error},{reason,shutdown},{offender,[{pid,undefined},{name,net_sup},{mfargs,{erl_distribution,start_link,[]}},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]}]} {error_logger,{{2012,10,10},{22,31,54}},std_info,[{application,kernel},{exited,{shutdown,{kernel,start,[normal,[]]}}},{type,permanent}]} {"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}}"} 

我GOOGLE了一段时间,但没有任何用处。

在互联网上的一个解决scheme是确保主机名pingable,但我的/etc/hosts已经在这条线上:

 127.0.0.1 localhost myserver 

任何有关如何起床rabbitmq-server的build议?

    我在安装rabbitmq-server时遇到了这个问题,而我正在安装厨师。 为我解决这个问题的解决办法如下。

      $ sudo vim /etc/hosts 

    然后添加

      $ 127.0.0.1 <hostname> 

    这里是你的主机名,如果不确定主机名,那么运行下面的命令:

      $ hostname 

    结果是你的主机名。 只需将其添加到/ etc / hosts中,然后运行:

      $ sudo service rabbitmq-server start 

    它开始了。 这对我有效。 感谢您的时间阅读。

    您的防火墙/端口可能会阻塞,无法启动!

    默认情况下,应该启用5672(rabbitmq端口)和4365(empd端口)

    然后重新启动它应该工作。

    首先,在shell上检查erl -sname foo 。 如果你得到相同的错误,这可能是一个ubuntu erlang包的问题。

    所以我刚刚安装了最新的erlang包 ,这对我有用 。

    这是与/etc/host文件有关的问题。 这个文件没有正确configuration。

    只要打开文件:

     $ sudo -s $ vim /etc/hosts 

    检查此文件中以“127.0.0.1”开头的行(通常位于文件的顶部)。

    然后让它看起来像这样:

     127.0.0.1 your host name 

    然后保存并退出。 现在重新启动rabbitmq-server并确认它可以正常工作。

    我也有类似的错误(我没有日志,因为我重新启动rabbitmq-server devstack)我的/ etc / hosts文件configuration的很好。

    当rabbitmq_server失败时,会在erl_crash.dump中logging某些信息。 在文件中,我可以看到端口5672(服务器部署的地方)不是免费的。 从netstat -vtanp | grep 5672可见相同的端口被beam.smp使用。 我停止了进程,并重新启动rabbitmq-server,它工作。

    在我的情况下,问题是我的防火墙阻止所有本地连接。

    我设置了传入数据包的iptables策略为DROP。 但是,我需要添加一个特定的规则来允许来自本地主机的数据包。

    只要确定,看看你的本地networking

     ip add 

    如果没有“lo”networking,你应该启用它:

     ifconfig lo up 

    然后重新启动服务器,让我们看看现在是否再次运行

     systemctl start rabbitmq-server