#下载以及安装erlang、rabbitmq
记住版本需要对应,否则就会报错,不能使用。我使用的是rpm包进行的安装
我使用的是erlang18.2
rabbitmq对应的是 3.6.9
rpm -ivh rabbitmq-server-3.6.9-1.el7.noarch.rpm
还有一个依赖包叫socat
yum install socat
安装完之后。只会有一个success输出.
然后感觉就没然后了。。。。。。安装成功了。
但是使用ps -ef | grep rabbitmq 是没有进程的。
# 启动rabbitmq
使用rpm安装完后,找不到安装文件的路径,以及想改配置也会是一脸茫然,
查找安装路径,目录
使用find / -name rabbitmq-service 即可看到安装的目录,
找到其中/usr/lib/rabbitmq/lib/rabbitmq_server-3.6.9/ sbin,继续下面工作
way1 使用这个假如关闭窗口就会退出
# 需要开起来,有些会使用后台运行的rabbitmq-service -detached,但是这个我在关闭的时候使用way2方式关闭的时候不能关闭,所以很不方便。
rabbitmq-server start
# 停止rabbitmq
rabbitmq-server stop
# 查看rabbitmq的状态
rabbitmq-server status
way2 推荐 也可以使用下面的命令
# 需要开起来
service rabbitmq-server start
# 停止rabbitmq
service rabbitmq-server stop
# 查看rabbitmq的状态
service rabbitmq-server status
现在查看状态是可以的,然后使用web进行管理,就需要安装插件
rabbitmq-plugins enable rabbitmq_management
关于启动的有一个坑,有一些说使用
# 然后登陆http://server_ip:15672
此时使用默认账号密码登陆,是登进不去的,因为需要设置一下权限的问题。
user :guest
password:guest
在访问管理界面使用guest用户登录时出现login failed错误。然后在查看日志日志查看在
tail -f -n100 /var/log/rabbitmq/rabbitmq@localhost.log
到服务器上查询日志显示出现错误的原因是:HTTP access denied: user ‘guest’ - User can only log in via localhost。
然后编辑vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.9/ebin/rabbitmq.app
此处有一个坑,在有一些版本上面有一个文件叫rabbitmq.config.example但是在这里不应该改那个,实际上是改此目录下的rabbitmq.app即可。
找到 loopback_user里面的guest去掉即可,其实这个仔细阅读log也是可以查看的。后面遇到一个问题,找了半天没找到解决办法,只能仔细阅读出错的日志,最后解决了。
找到loopback_users的guest去掉,就应该可以后台登录了。(此处也可以进行密码的更改,在此处上面有一个默认的密码,可以进行更改,更改后再登陆的时候要使用更改的密码)
# 添加用户(此处有坑)
# 进入到安装目录
cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.9/sbin
# 添加用户 以及密码
rabbitmqctl add_user admin admin123
# 查看用户列表
rabbitmqctl list_users
# 添加进管理员,此处假如不添加管理员,在登陆的时候会报错,此用户不是管理员。所以必须添加。
rabbitmqctl set_user_tags admin administrator
坑:
在使用rabbitmq的rabbitctl 命令会报错
/usr/lib/rabbitmq/lib/rabbitmq_server-3.6.9/ebin
[root@localhost ebin]# rabbitmqctl status
Status of node rabbit@localhost ...
Error: unable to connect to node rabbit@localhost: nodedown
DIAGNOSTICS
===========
attempted to contact: [rabbit@localhost]
rabbit@localhost:
* connected to epmd (port 4369) on localhost
* epmd reports node 'rabbit' running on port 25672
* TCP connection succeeded but Erlang distribution failed
* suggestion: hostname mismatch?
* suggestion: is the cookie set correctly?
* suggestion: is the Erlang distribution using TLS?
current node details:
- node name: 'rabbitmq-cli-95@opscluster1005'
- home dir: /var/lib/rabbitmq
- cookie hash: rNTn8AhSg8ecUxo8d0ybrA==
网上的解决办法几乎只有2种 :
1 重装
2 更改.erlang.cookie(你会在root目录以及另外一个安装目录会找到。可以使用find / -name erlang.cookie)
3 更改hosts 以及 # vim /etc/hosts # vim /etc/hostname更改这两个文件,但是未解决。
但是这两种都是没有解决问题,仔细读我的报错,就会发现原因是连接的时候node是错的,我运行的是opscluster1005但是连接的却是localhost所以才会导致错误。然后查询rabbitmqctl的命令发现:
rabbitmqctl [-n node] [-t timeout] [-q] {command} [command options…]
#可以自己主动进行连接某个node所以:
[root@localhost sbin]# rabbitmqctl -n rabbit@opscluster1005 set_user_tags administrator
Setting tags for user "administrator" to [] ...
Error: no_such_user: administrator
[root@localhost sbin]# rabbitmqctl -n rabbit@opscluster1005 set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...
Error: no_such_user: admin
[root@localhost sbin]# rabbitmqctl -n rabbit@opscluster1005 list_users
Listing users ...
guest [administrator]
[root@localhost sbin]# rabbitmqctl -n rabbit@opscluster1005 add_user admin qingmu123
Creating user "admin" ...
[root@localhost sbin]# rabbitmqctl -n rabbit@opscluster1005 set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...
# 设置成功,装机完毕