版本:Centos7
socat
是一个多功能的网络工具,可以看作是netcat的升级版,socat的主要特点就是在两个数据流之间建立通道;且支持众多协议和链接方式:ip, tcp, udp,ipv6,pipe,exec,system,open,proxy,openssl,socket
等。
1、安装socat
yum -y install socat
rabbitmq是erlang语言编写的,安装rabbitmq之前,需要先安装erlang。
下载erlang软件包,本文使用erlang-19.0.4版本,下面给出下载链接
wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm
安装erlang
rpm -ivh erlang-19.0.4-1.el7.centos.x86_64.rpm
安装完成,输入erl,如下图则安装成功
退出命令:
halt().
然后安装rabbitmq,下载地址如下
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
安装…
rpm -ivh rabbitmq-server-3.6.10-1.el7.noarch.rpm
2、启动rabbitmq,俩种方式
选择下面任意一种
systemctl start rabbitmq-server
rabbitmq-server -detached
#-detached代表后台守护进程方式启动rabbitmqctl status
mkdir /etc/rabbitmq
然后启用插件:
rabbitmq-plugins enable rabbitmq_management
4、配置防火墙
配置linux 端口 15672 网页管理 5672 AMQP端口:
firewall-cmd --permanent --add-port=15672/tcp
firewall-cmd --permanent --add-port=5672/tcp
systemctl restart firewalld.service
Centos 7 的特性,需要注册开放的端口进防火墙,并重启防火墙。
如果出现 FirewallD is not running
,没有则直接跳过此步。
通过systemctl status firewalld
查看firewalld
状态,发现当前是dead
状态,即防火墙未开启。
通过systemctl start firewalld开启防火墙,没有任何提示即开启成功
再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了。
如果要关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能。
再次执行irewall-cmd --permanent --add-port=15672/tcp
报错-bash: irewall-cmd: command not found
原因时这个服务器因为刚装很多软件缺失,装上即可
yum install firewalld systemd -y
装好后再次执行就好了:
5、web端管理界面
现在你在浏览器中输入服务器IP:15672就可以看到RabbitMQ
的WEB
管理页面了,默认账号密码都是guest
。
但是你会发现在本地可以正常使用默认账户guest
登录,但是在远程机子上登录发现登录失败。
这是因为账号guest
具有所有的操作权限,并且又是默认账号,出于安全因素的考虑,guest
用户只能通过localhost
登陆使用,并建议修改guest
用户的密码以及新建其他账号管理使用rabbitmq
(该功能是在3.3.0版本引入的)。
配置web端访问账号密码和权限
#添加用户,后面两个参数分别是用户名和密码.
rabbitmqctl add_user test 1234
#添加权限
rabbitmqctl set_permissions -p / test ".*" ".*" ".*"
#修改用户角色
rabbitmqctl set_user_tags test administrator
再登录就了。