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

29

有没有简单的方法在Ubuntu上安装RabbitMQ?我已经按照以下步骤进行了操作:

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

deb http://www.rabbitmq.com/debian/ testing main  

然后使用apt-get安装:

$ sudo apt-get install rabbitmq-server

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

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

既然已经安装了erlang-nox,我该如何安装依赖项并控制其版本?

7个回答

74

在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

默认的用户名/密码将为guest/guest,并且端口将是15672;UI请访问-http://localhost:15672

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

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 ".*" ".*" ".*"

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

sudo rabbitmqctl delete_user guest

1
似乎在Ubuntu 14.04上,使用 sudo wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc 工作正常。与使用 http://www.rabbitmq.com/rabbitmq-signing-key-public.asc 相比。 - zangw
5
对我来说这不起作用,当我安装rabbitmq-server时也遇到了同样的错误:rabbitmq-server : 依赖于 erlang-nox (>= 1:16.b.3) 但是要安装 1:15.b.1-dfsg-4+deb7u1 或 esl-erlang,但它无法安装 - speedplane
1
我在执行 apt-get update 时遇到了错误,而这个答案解决了我的问题。 - Frankie Drake
在执行 sudo apt get update 命令时,我遇到了 Failed to fetch https://www.rabbitmq.com/debian/dists/testing/main/binary-amd64/Packages 404 的错误。有什么想法吗? - Gulzar
请检查Frankie Drake的答案并尝试它。 - Mudaser Ali
显示剩余2条评论

8
如果Mudaser Ali的回答没有帮助,那么您可以使用以下步骤。这对我有用。请注意,此答案适用于Ubuntu Precise。
http://www.rabbitmq.com/install-debian.html下载Debian,但不要运行它。
打开/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

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


问题已解决,谢谢。虽然在添加仓库后可以通过 sudo apt-get install rabbitmq-server 安装 raabitmq-server,而无需下载二进制文件。 - MD. Khairul Basar

5
您可能希望卸载/删除现有的erlang-nox:
sudo apt-get remove erlang-nox

然后安装rabbitmq-server(它会自动安装所需的erlang-nox)。但是,在卸载/删除当前版本的erlang-nox之前,最好检查是否会影响已安装在您计算机上的其他程序。


感谢您愿意在这里提供帮助,但是我不认为这是问题所在。我认为这与Ubuntu 8的版本和新版本的Erlang有关。我已经移除了erlang-nox,然后尝试安装,但没有成功。请查看这个链接:https://gist.github.com/a588340f3743190ecd0a。 - Eki Eqbal

5
最简单的方法是在您的系统上删除Erlang或RabbitMQ的任何痕迹,然后前往http://www.erlang-solutions.com/section/132/download-erlang-otp获取Ubuntu Erlang二进制文件(运行RabbitMQ的虚拟机),然后前往http://www.rabbitmq.com/download.html获取RabbitMQ。
对于Erlang,请根据操作系统版本选择64位或未指定的32位。只有一个二进制版本的RabbitMQ完全跨平台,即32位和64位之间没有差异。
安装好它们后,您将拥有最新且功能最强大的两个软件包,这两个软件包都在积极开发中。
考虑到您将避免未来可能出现的问题,这是最简单的方式。
个人建议将关键应用程序包保留在常规Linux文件系统布局之外。无论您选择将其放在/opt、/home/erlang、/apps还是/packages中都没有关系。重要的是完全控制这些软件包,不要让操作系统软件包管理器驱动您的决策。

1
第一个链接已经失效。 - lealceldeiro
第一个链接:- https://www.erlang-solutions.com/resources/download.html - Vishal Kumar

2
以下命令对我有用,它们类似于@Samuel Alexander的步骤,但您可以直接复制并粘贴。
注意:这是针对“Debian Wheezy”的。如果您使用不同的Debian版本,请尝试将下面第二行中的“wheezy”更改为您的版本。如果您不知道您的版本,请运行命令“cat /etc/*-release | grep Debian”,它会告诉您。
一旦您知道自己的版本,并替换了第二行中的“wheezy”,请尝试以下操作:
echo "deb http://www.rabbitmq.com/debian/ testing main" | sudo tee -a /etc/apt/sources.list
echo "deb http://packages.erlang-solutions.com/ubuntu wheezy contrib" | sudo tee -a /etc/apt/sources.list
wget http://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc
sudo apt-key add erlang_solutions.asc
sudo apt-get update
sudo apt-get -y install erlang erlang-nox
sudo apt-get -y --force-yes install rabbitmq-server
# Enable the web interface
sudo rabbitmq-plugins enable rabbitmq_management
sudo service rabbitmq-server restart

0

按照https://www.rabbitmq.com/install-debian.html上的说明,使用Package Cloud方法是我最容易的方式。

您需要添加erlang的repo并运行他们提供的安装erlang的命令,然后添加package cloud repo并安装rabbitmq-server。对我来说非常顺利。


-1
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

来源:Bindas Monkeys


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接