在Ubuntu中安装RabbitMQ的简单方法?

Eki*_*bal 26 ubuntu amqp rabbitmq

有没有简单的方法为Ubuntu安装RabbitMQ?我做了以下事情:

将以下行添加到/etc/apt/sources.list:

deb http://www.rabbitmq.com/debian/ testing main  
Run Code Online (Sandbox Code Playgroud)

然后安装apt-get:

$ sudo apt-get install rabbitmq-server
Run Code Online (Sandbox Code Playgroud)

但我每次都会收到以下错误:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.

Since you only requested a single operation it is extremely likely that
the package is simply not installable and a bug report against
that package should be filed.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 rabbitmq-server: Depends: erlang-nox (>= 1:12.b.3) but 1:11.b.5dfsg-11 is to be     installed
 E: Broken packages
Run Code Online (Sandbox Code Playgroud)

我应该如何安装依赖项并控制erlang-nox已安装的版本?

Mud*_*Ali 57

在ubuntu中安装rabbitMQ的最简单方法:

echo "deb http://www.rabbitmq.com/debian/ testing main"  | sudo tee  /etc/apt/sources.list.d/rabbitmq.list > /dev/null
wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
sudo apt-key add rabbitmq-signing-key-public.asc
sudo apt-get update
sudo apt-get install rabbitmq-server -y
sudo service rabbitmq-server start
sudo rabbitmq-plugins enable rabbitmq_management
sudo service rabbitmq-server restart
Run Code Online (Sandbox Code Playgroud)

默认用户名/密码为guest/guest,端口为5672;

如果您想更改用户名和密码或添加新用户,请按照以下步骤操作

sudo rabbitmqctl add_user user_name password_for_this_user
sudo rabbitmqctl set_user_tags user_name administrator
sudo rabbitmqctl set_permissions -p / user_name ".*" ".*" ".*"
Run Code Online (Sandbox Code Playgroud)

要删除访客用户,请运行此命令

sudo rabbitmqctl delete_user guest
Run Code Online (Sandbox Code Playgroud)

  • 这对我不起作用,我在安装rabbitmq-server时遇到了同样的错误:`rabbitmq-server:取决于:erlang-nox(> = 1:16.b.3)但是1:15.b.1-dfsg -4 + deb7u1将被安装或esl-erlang但它不可安装 (4认同)

sag*_*sag 7

如果Mudaser Ali的回答无效,那么您可以使用以下步骤.它对我有用.请注意,这个答案是针对ubuntu精确的.

http://www.rabbitmq.com/install-debian.html下载debain ,但不要运行它

打开/etc/apt/sources.list并在其中添加以下行

deb http://packages.erlang-solutions.com/ubuntu precise contrib

然后执行以下命令

wget http://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc
sudo apt-key add erlang_solutions.asc
sudo apt-get update
sudo apt-get install erlang
sudo apt-get install erlang-nox
sudo dpkg -i rabbitmq-server_3.2.1-1_all.deb
Run Code Online (Sandbox Code Playgroud)

参考:http://www.scotthelm.com/2013/11/27/rabbit-mq-and-erlang-and-ubuntu-oh-my.html


Gur*_*dal 5

您可能想要卸载/删除现有的 erlang-nox:

sudo apt-get remove erlang-nox
Run Code Online (Sandbox Code Playgroud)

然后安装rabbitmq-server(它将安装所需的erlang-nox)。但是,检查当前版本的 erlang-nox 的卸载/删除是否不会破坏安装在您的机器上的其他东西是一个好主意。


Mic*_*lon 5

最简单的方法是删除系统上任何Erlang或RabbitMQ的痕迹,然后转到http://www.erlang-solutions.com/section/132/download-erlang-otp获取Ubuntu Erlang二进制文件(运行VM RabbitMQ),然后转到此处http://www.rabbitmq.com/download.html以获得RabbitMQ。

对于Erlang,根据您的操作系统版本,选择64位或未指定的一位(32位)。RabbitMQ只有一个二进制文件可以完全跨平台使用,即32位和64位之间没有变化。

使它们运行,您将拥有两个软件包的最新和最好的,并且都处于非常活跃的开发中。

考虑到将来要避免的问题时,这是最简单的方法。

我个人还建议将关键任务应用程序包保留在常规Linux文件系统布局之外。是否选择将它们放在/ opt,/ home / erlang或/ apps或/ packages中都没有关系。重要的是要完全控制这些程序包,不要让OS程序包管理器来驱动您的决策。