Centos7 安装配置 RabbitMQ3.6
$$ zero,说明:
0,参考:https://www.linuxidc.com/Linux/2016-03/129557.htm
1, 前言:网上安装只有安装成功的例子,错误的例子解决方案要自己找(也能提高自己)
2,这里是我安装的实例
3,安装的东西是崭新的
4,很多人喜欢将下载的软件保存到 /usr/local/webserver/中(目前流行的)
不过,我喜欢放在 家目录中( pwd ==> /root ),方便自己观看与删除软件安装包
通常软件安装在 /usr/local/ 下(目前流行的,在该目录下新建文件夹安装 如:/usr/local/php )
5, 这是 yum 源码包 安装。 网上有 rpm包安装,请参考 https://blog.csdn.net/zhaogangyyxf/article/details/79614464
一,erlang安装
1、在安装erlang之前先安装下依赖文件(这一步不要忘掉了, 不然后面./configure的时候要报错):
[root@localhost ~]# yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto
[root@localhost ~]# yum install yum install setroubleshoot -y
[root@localhost ~]# yum install socat
2、到erlang官网去下载erlang安装包
官网地址: http://www.erlang.org/downloads
[root@localhost ~]# wget -c http://erlang.org/download/otp_src_21.0.tar.gz
[root@localhost ~]# tar -zxvf otp_src_21.0.tar.gz
[root@localhost ~]# cd otp_src_21.0/
3、编译安装( 我这里指定编译安装后放在/usr/local/erlang目录里面,这个你们可以改成其他的 ):
[root@localhost ~]# otp_src_21.0]# mkdir /usr/local/erlang
[root@localhost ~]# otp_src_21.0]# ./configure --prefix=/usr/local/erlang
[root@localhost ~]# otp_src_21.0]# make && make install
4、测试安装是否成功:
[root@localhost ~]# cd /usr/local/erlang/bin/
[root@localhost bin]# ./erl
若出现以下界面,则说明我们erlang配置OK了
输入【 halt(). 】 退出控制台
> halt().
【 或者 】 : 使用下面的测试 erlang 是否安装成功:
注意 erl 要可以使用( vim /etc/profile ==> 在末尾加入这么一行即可:export PATH=$PATH:/usr/local/erlang/bin ==> source /etc/profile ==> 配置全局环境变量):
[root@localhost ~]# erl -version
二、安装rabbitmq
1、到官网下载最新安装包:http://www.rabbitmq.com/releases/rabbitmq-server/
[root@localhost ~]# cd usr/local # rabbitmq 不用编译安装,解压到 usr/local/下 即可
[root@localhost local]# wget -c http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-generic-unix-3.6.15.tar.xz
一般下载慢,可以在Windows10上直接下载( erlang 同理,只不过安装包要对应好安装的系统 )可以使用 xshell 与 xftp
解压:
[root@localhost local]# xz -d rabbitmq-server-generic-unix-3.6.15.tar.xz
[root@localhost local]# tar -xvf rabbitmq-server-generic-unix-3.6.15.tar
[root@localhost local]# rm -rf rabbitmq-server-generic-unix-3.6.15.tar # 删除 rabbitmq 安装包
[root@localhost local]# mv rabbitmq-server-generic-unix-3.6.15 rabbitmq # mv 在同一个目录下是重命名,不同目录下是拷贝
2、配置rabbitmq的环境变量(这个跟上面的erlang配置以及java的环境变量差不多)
[root@localhost ~]# vim /etc/profile
在末尾加入以下配置:export PATH=$PATH:/usr/local/rabbitmq/sbin
更新配置文件:[root@localhost ~]# source /etc/profile
三,使用:
1,运行RabbitMQ需要首先开放15672和5672端口:
参数介绍:
@1、 firwall-cmd:是Linux提供的操作firewall的一个工具;
@2、--permanent:表示设置为持久;
@3、--add-port:标识添加的端口;
[root@localhost ~]# firewall-cmd --zone=public --add-port=15672/tcp --permanent # 不加 --permanent 是临时修改
[root@localhost ~]# firewall-cmd --zone=public --add-port=5672/tcp --permanent
[root@localhost ~]# firewall-cmd --reload # 重载生效刚才的端口设置
2,rabbitmq的基本操作:
启动:rabbitmq-server -detached
关闭:rabbitmqctl stop
查看状态:rabbitmqctl status
&1, 启动使用:
[root@localhost ~]# rabbitmq-plugins enable rabbitmq_management # 配置 web界面
[root@localhost ~]# rabbitmq-server # 或者 rabbitmq-server -detached 或者
rabbitmqctl stop ==> rabbitmq-server
&2,访问管理页面:http://192.168.?.?:15672 端口默认为15672
&3,默认来宾用户:guest, 来宾用户密码:guest
3,开启rabbitmq远程访问
添加用户:rabbitmqctl add_user ad admin123 // ad是用户名,admin123是用户密码
添加权限:rabbitmqctl set_permissions -p "/" ad "." "." ".*"
修改用户角色:rabbitmqctl setusertags ad administrator
然后就可以远程访问了,然后可直接配置用户权限等信息
4、rabbitmq常用命令
add_user
delete_user
change_password
list_users
add_vhost
delete_vhost
listvhostssetpermissions [-p ]
clear_permissions [-p ]
list_permissions [-p ]
listuserpermissions
list_queues [-p ] [ ...]
list_exchanges [-p ] [ ...]
list_bindings [-p ]
list_connections [ ...]
四,错误与问题(解决):
1,有时会报启动rabbitmq,提示ERROR: node with name "rabbit" already running on "localhost":
[root@localhost ~]# rabbitmq-server
ERROR: node with name "rabbit" already running on "localhost"
semodule -l|grep rabbitmq
ps aux|grep epmd
ps aux|grep erl
kill -9 进程号
rabbitmq-server 或者 rabbitmqctl stop ==> rabbitmq-server
2,查看端口号,配置环境变量后(rabbitmq会开机自启动),注意:rpm包安装的要自己设置开机自启动
&& 三种开机自启动的方法
ln -s 在/etc/rc.d/rc.d目录中建立/etc/init.d/服务的软链接(代表0~6七个运行级别之一)
chkonfig 命令行运行级别设置
ntsysv 伪图形运行级别设置
全文地址请点击:https://blog.csdn.net/qq32863631/article/details/78631174?utmsource=copy
3,账号密码都是 guest 。 登录rabbitmq报错User can only log in via localhost
在访问管理界面使用guest用户登录时出现login failed错误。
到服务器上查询日志显示出现错误的原因是:HTTP access denied: user ‘guest’ - User can only log in via localhost。
解决:
1,rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问。我的是3.6
2,如果想使用guest/guest通过远程机器访问,需要在rabbitmq配置文件中(找到/rabbitmq_server-3.6.14/ebin下面的rabbit.app文件)中设置
loopback_users为[]。
3,找到/rabbitmq_server-3.6.15/ebin(我的:/usr/local/rabbitmq/ebin)下面的rabbit.app文件文件完整内容如下(注意后面的半角句号): ,
[root@localhost ~]# cd /usr/local/rabbitmq/ebin
[root@localhost ebin]# vim rabbit.app
4,找到:loopback_users里的<<”guest”>>删除。
/loopback_users 回车
[{rabbit, [{loopback_users, []}]}].
5,然后重启:
systemctl restart rabbitmq-server.service 或者 rabbitmqctl stop ==> rabbitmq-server