[CentOS7安装RabbitMQ]
安装erlang
由于rabbitmq是基于erlang语言开发的,所以必须先安装erlang。
安装依赖
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel
erlang官网:
https://www.erlang.org/downloads
下载(会比较慢,请耐心等待)
wget http://erlang.org/download/otp_src_22.0.tar.gz
解压
tar -zxvf otp_src_22.0.tar.gz
创建即将安装的目录
配置安装路径
./configure --prefix=/usr/local/software/erlang
如果遇到这个错 你就假装没看到
安装
make install
查看一下是否安装成功
ll /usr/local/software/erlang/bin
添加环境变量
echo 'export PATH=$PATH:/usr/local/software/erlang/bin' >> /etc/profile
刷新环境变量
source /etc/profile
甩一条命令
erl
在里面输入halt().命令退出来(那个点号别忘记)
安装RabbitMQ
下载
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-generic-unix-3.7.15.tar.xz
由于是tar.xz格式的所以需要用到xz,没有的话就先安装
yum install -y xz
第一次解压
/bin/xz -d rabbitmq-server-generic-unix-3.7.15.tar.xz
第二次解压
tar -xvf rabbitmq-server-generic-unix-3.7.15.tar
改名
mv /usr/local/rabbitmq_server-3.7.15 rabbitmq
配置环境变量
echo 'export PATH=$PATH:/usr/local/software/rabbitmq/sbin' >> /etc/profile
刷新环境变量
source /etc/profile
创建配置目录
mkdir /etc/rabbitmq
启动命令
启动:
rabbitmq-server -detached
停止
rabbitmqctl stop
状态:
rabbitmqctl status
**
防火墙之类的请自行处理(5672和15672端口),反正我是从来不开防火墙。 lunix 远程访问 192.168.1.120:15672 失败。未开放端口
**
/sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
WEB管理
开启web插件
rabbitmq-plugins enable rabbitmq_management
访问:http://192.168.1.120:15672
默认账号密码:guest guest(这个账号只允许本机访问)
解决:尝试开启guest远程访问
[root@localhost ebin]# pwd
/usr/local/software/rabbitmq/ebin
[root@localhost ebin]# cat rabbit.app
开启guest远程访问的方法是:将rabbitmq安装目录下ebin目录下rabbit.app中loopback_users里的<<"guest">>删除,重启rabbitmq服务,
用户管理
查看所有用户
rabbitmqctl list_users
添加一个用户
rabbitmqctl add_user zhaobl 123456
配置权限
rabbitmqctl set_permissions -p "/" zhaobl ".*" ".*" ".*"
查看用户权限
rabbitmqctl list_user_permissions zhaobl
设置tag
rabbitmqctl set_user_tags zhaobl administrator
删除用户(安全起见,删除默认用户)
rabbitmqctl delete_user guest
界面化操作用户:
**============================================================================================================**
阿里云服务器的安全规则拦截了,他们的安全规则默认只开了22、3389和-1这三个端口,而mq的15672端口是不允许访问的,需要配置安全规则才可以访问。(要是还不能访问,建议重启服务器实例**)**
查看防火墙开防端口命令
[root@hcg ~]# netstat -nap
启动防火墙
[root@hcg ~]# systemctl start firewalld.service
加入开放端口
[root@hcg ~]# firewall-cmd --zone=public --add-port=15672/tcp --permanent