centos 6.7下安装rabbitmq 3.6.6过程

安装erlang

由于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 

warning:erlang-solutions-1.0-1.noarch.rpm: Header V4 RSA/SHA1 Signature, key ID a14f4
error: Failed dependencies:
libGL.so.1()(64bit) is needed by esl-erlang-19.1.5-1.x86_64
libGLU.so.1()(64bit) is needed by esl-erlang-19.1.5-1.x86_64
libodbc.so.2()(64bit) is needed by esl-erlang-19.1.5-1.x86_64
libsctp.so.1()(64bit) is needed by esl-erlang-19.1.5-1.x86_64
......

结果失败了,原因是:还有好多他自己所依赖的包需要安装,为了省事执行另外一套方案,如下:

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

Erlang/OTP 19 [erts-8.1] [source-77fb4f8] [64-bit] [smp:2:2] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V8.1 (abort with ^G)
1>  

这样就成功了 


安装rabbitmq

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

可能继续报错?如下:

Starting rabbitmq-server: rmdir: failed to remove `/var/run/rabbitmq’: Directory not empty 
FAILED - check /var/log/rabbitmq/startup_{log, _err} 
rabbitmq-server.

解决方法:

这里有一个路径 /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 就可以了。


 

给出一些rabbitmq的命令:

$ 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端口

  1. /sbin/iptables -I INPUT -p tcp --dport 5672 -j ACCEPT

  2. /sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值