由于RabbitMQ依赖Erlang, 所以需要先安装Erlang。
1、访问官网下载地址
https://www.erlang-solutions.com/resources/download.html
1、wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
2、rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
3、yum install erlang
结果失败了,原因是:还有好多他自己所依赖的包需要安装,为了省事执行另外一套方案,如下:
4、rpm --import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
5、vim /etc/yum.repos.d/CentOS-Base.repo
在任何一个源内添加下面的 6、,在这我选择了 CentOS-Base.repo 这个源
6、[erlang-solutions]
name=Centos $releasever - $basearch - Erlang Solutions
baseurl=https://packages.erlang-solutions.com/rpm/centos/$releasever/$basearch
gpgcheck=1
gpgkey=https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
enabled=1
运行 yum makecache 生成缓存
7、yum makecache
安装 erlang
8、yum -y install erlan
成功验证
9、erl
这样就成功了
https://www.rabbitmq.com/install-rpm.html
1、wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el6.noarch.rpm
2、rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
3、yum -y install rabbitmq-server-3.6.6-1.el6.noarch.rpm
可以进行上面2、3的操作,也可以直接运行下面这一命令:
2、rpm -ivh rabbitmq-server-3.6.6-1.el6.noarch.rpm
第一种错:
原因是缺少socat依赖
解决方法:
4、yum -y install socat
继续报错,解决方法安装centos的epel的扩展源
5、yum -y install epel-release
此时可能也会报错,如果报错:
在网上查了查,解决办法都是编辑/etc/yum.repos.d/epel.repo,把基础的恢复,镜像的地址注释掉
vim /etc/yum.repos.d/epel.repo
#baseurl
mirrorlist全部改成
baseurl
#mirrorlist
执行完再执行
6、yum -y install socat
安装完之后,回到安装rabbitMQ的步骤,执行命令如下:
7、rpm -ivh rabbitmq-server-3.6.6-1.el6.noarch.rpm
此时有可能又报错,解决办法:生成配置文件
cp /usr/share/doc/rabbitmq-server-3.6.6/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
启动rabbitmq
service rabbitmq-server start
可能继续报错?如下:
解决方法:
这里有一个路径 /var/log/rabbitmq/ ,该路径下的 startup_err文件
是erl该命令找不到,提示‘/usr/lib/rabbitmq/bin/rabbitmq-server: line 50: erl: command not found‘?
同样的我们需要将erl的执行文件移到系统环境变量中,执行以下代码:
ln -s /usr/local/erlang/bin/erl /usr/bin/erl
现在再次启动rabbitmq,发现成功service rabbitmq-server start
第二种错:
上面这个图是我用的别人的,centOS6.4 可以忽视。
使用vi打开DNS的配置文件进行修改:
在命令提示符中输入: vi /etc/sysconfig/network-scripts/ifcfg-eth0
用vi 打开这个文件后,接下来会出现截图的内容, 其中要注意两个配置(按下面的值去设置),如果不会使用vi的同学,请自行google或者百度用法。
ONBOOT=yes
MM_CONTROLLED=no
设置好后。
重启CentOS后一切就正常了。
第三种错:
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
Setting up Install Process
No package gcc available.
Error: Nothing to do
遇到这种情况有两种做法:
1、没网,试着:ping www.baidu.com
如果显示没有连接的话,就说明没网,也就无法使用yum 命令。
2、ping通了的话,还是是用不了yum命令,说明是yum镜像没有了,那么就得下载一个来更新。
在安装完CentOS后一般需要修改yum源,才能够在安装更新rpm包时获得比较理想的速度。国内比较快的有163源、sohu源。这里以163源为例子。
1)、 cd /etc/yum.repos.d
2)、 mv CentOS-Base.repo CentOS-Base.repo.backup
3)、 wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
4)、 mv CentOS6-Base-163.repo CentOS-Base.repo
5)、 yum clean all
最后在使用yum 就可以了。
$ sudo chkconfig rabbitmq-server on # 添加开机启动RabbitMQ服务
service rabbitmq-server start #启动
service rabbitmq-server stop #停止
service rabbitmq-server restart #重启
service rabbitmq-server status #查看状态
service rabbitmq-server etc #查看有哪些命令可以使用
# 查看默认guest用户的权限
$ sudo rabbitmqctl list_user_permissions guest
# 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户
$ sudo rabbitmqctl delete_user guest
# 添加新用户
$ sudo rabbitmqctl add_user username password
# 设置用户tag
$ sudo rabbitmqctl set_user_tags username administrator
# 赋予用户默认vhost的全部操作权限
$ sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
# 查看用户的权限
$ sudo rabbitmqctl list_user_permissions username
ps -ef | grep rabbitmq #查看rabbitMq进程
netstat -anplt | grep LISTEN #rabbitmq默认监听端口15672/5672
默认情况下,RabbitMQ的默认的guest用户只允许本机访问, 如果想让guest用户能够远程访问的话,只需要将配置文件中的loopback_users列表置为空即可,如下:
{loopback_users, []}
另外关于新添加的用户,直接就可以从远程访问的,如果想让新添加的用户只能本地访问,可以将用户名添加到上面的列表, 如只允许admin用户本机访问。
{loopback_users, ["admin"]}
更新配置后,别忘了重启服务哦!
看自己是否有rabbitmq.config文件:
cd /etc/rabbitmq/ vi rabbitmq.config
如果没有就自己创建一个
编辑内容如下:
[{rabbit, [{loopback_users, []}]}].
这里的意思是开放使用,rabbitmq默认创建的用户guest,密码也是guest,这个用户默认只能是本机访问,localhost或者127.0.0.1,从外部访问需要添加上面的配置。
保存配置后重启服务:
service rabbitmq-server stop
service rabbitmq-server start
此时就可以从外部访问了,但此时再看log文件,发现内容还是原来的,还是显示没有找到配置文件,可以手动删除这个文件再重启服务,不过这不影响使用
rm rabbit\@mythsky.log
service rabbitmq-server stop
service rabbitmq-server start
1、打开浏览器,输入 http://你的服务器IP:15672 ,打开管理界面
rabbitMQ的默认用户名密码都为: guest
但是发现登录不了,提示:User can only log in via localhost
只能在服务器本地打开
2、配置rabbitmq账号密码:
执行以下命令:
rabbitmq-plugins enable rabbitmq_management
3、添加新用户:
rabbitmqctl add_user admin admin
这里添加的用户名和密码为 admin admin
4、添加用户标签(超级管理员):
rabbitmqctl set_user_tags admin administrator
5、添加成功后可以执行以下命令查看当前的用户列表:
rabbitmqctl list_users
6、使用新建账号登录
注意:记得要开放5672和15672端口
/sbin/iptables -I INPUT -p tcp --dport 5672 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
原文:https://www.cnblogs.com/given-aj/p/13578825.html