问题描述
有没有简单的方法为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
的版本,因为它已经安装好了?
最佳解决办法
最简单的方法是删除系统上的Erlang或RabbitMQ的任何痕迹,然后转到http://www.erlang-solutions.com/section/132/download-erlang-otp获取Ubuntu Erlang二进制文件(运行RabbitMQ的VM),然后转到http://www.rabbitmq.com/download.html以获取RabbitMQ。
对于Erlang,根据您的操作系统版本选择64位或未指定的(32位)。只有一个RabbitMQ的二进制文件是完全跨平台的,即32位和64位之间没有变化。
让那些正在运行的,你拥有最新和最好的两个包都在非常活跃的开发。
当您考虑到将要避免的未来问题时,这是最简单的方法。
就个人而言,我还建议将关键任务应用程序包保留在通常的Linux文件系统布局之外。无论您选择将它们放入/opt,还是/home /erlang或/apps或/packages都无关紧要。重要的是要完全控制这些包,不要让操作系统包管理器决定你的决策。
次佳解决办法
在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;用户界面跟随 – 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
第三种解决办法
如果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
参考:http://www.scotthelm.com/2013/11/27/rabbit-mq-and-erlang-and-ubuntu-oh-my.html
第四种办法
您可能想要卸载/删除现有的erlang-nox:
sudo apt-get remove erlang-nox
然后安装rabbitmq-server(将安装所需的erlang-nox)。但是,检查当前版本的erlang-nox的卸载/删除是否会破坏您的盒子上安装的其他东西是个好主意。
第五种办法
以下命令对我有用,它们类似于@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