注:部分内容摘自网络,侵删
由于RabbitMQ是基于Erlang语言开发的,所以要使用RabbitMQ的前提当然是要安装其运行环境,centos下很方便,直接yum方式安装就好了
1 |
1 |
安装完ErLang,就可以直接安装RabbitMQ了,可以下载官方的rpm编译好的软件包(参见:http://www.rabbitmq.com/install-rpm.html)
1 |
2 |
加入开机启动服务
1 |
然后启动
1 |
以上RabbitMQ就安装完了,但如果只是这样好像这篇文章写上来就没什么意义了,因为这些官方安装都有说明。没错很多时候我们需要进行管理,在没有安装客户端时,使用web管理是个很方便的事情,而默认RabbitMQ的web管理并非启用的,而且其其它功能都是通过插件的形式进行扩展的,要查看web管理是否启用,运行
1 |
如果打印的列表中没有rabbitmq_management,需要开启该插件才可以使用,运行
1 |
以上似乎要结束了,等等可能当你输入geust账号和密码登陆时发现不能登陆,其它程序调用连接时也无法连接,这是因为出于安全原因,官方默认是禁止guest进行远程登陆访问的(仅限于localhost,参见:http://www.rabbitmq.com/access-control.html)。
上面的链接中官方也很明确的说明的建议删除guest用户创建一个新用户,如
1 |
2 |
3 |
(rabbitmqctl详解可参见:http://www.rabbitmq.com/man/rabbitmqctl.1.man.html)
当然如果你执意要使用guest进行远程访问,建议修改密码,如
1 |
然后在配置文件/etc/rabbitmq/rabbitmq.config中(可能不存在,新建即可使用)添加:
1 |
然后重启rabbitmq-service服务
1 |
这个时候在浏览器输入http://{server_name}:15672/进行访问,使用刚刚设置的账号登陆就可以进行管理了
补充说明:
0、一定要关闭防火墙,iptables和selinux
1、RabbitMQ服务的web管理访问端口默认是15672(3.0以前是55672),你可以通过修改/etc/rabbitmq/rabbitmq.config配置文件,例如更改端口为8888,在配置中添加
1 |
当然需要注意格式上面是在原基础添加的,可参考官方示例/usr/share/doc/rabbitmq-server-3.3.5/rabbitmq.config.example
web管理配置其它设置可参见:http://www.rabbitmq.com/mochiweb.html
2、RabbitMQ服务端口默认为5672,当然也可以通过修改上面的配置文件进行修改,例如更改为5673端口,在配置中添加
1 |
3、使用请参见官方教程,http://www.rabbitmq.com/getstarted.html
4、如果代码进行远程连接的话,一定要给登录用户授权限,不然得不到连接,如下:
先配置:
[ {rabbit, [{tcp_listeners, [{"127.0.0.1", 5672},{"172.16.10.191", 5672}]}, {loopback_users, ["admin"]}]} ].
然后进行授权:
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
--------------------------------------------------------------------------------------分割线------------------------------------------------------------------------------------------
centos7下安装:
yum install epel-release
yum install erlang(报错使用忽略依赖:yum -y --skip-broken install erlang
wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
rpm -ivh rabbitmq-server-3.6.11-1.el7.noarch.rpm
yum install socat
如果安装socat也报错,先执行
yum makecache
yum install socat
rpm -ivh rabbitmq-server-3.6.10-1.el7.noarch.rpm
因为如果安装的erlang与rabbitMQ要求的版本不符时,会提示16B什么的,缺少依赖,这个可以忽
--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装
rpm -ivh --nodeps rabbitmq-server-3.6.10-1.el7.noarch.rpm
cd /usr/lib/rabbitmq/bin
运行rabbitmq-server,执行命令启动rabbitmq
rabbitmq-server -detached
Warning: PID file not written; -detached was passed.
我这里是提示这个,但是rabbitmq服务已经启动成功