如果服务器有RabbitMQ,请先卸载原来的Rabbitmq,避免安装出错,卸载教程
一、下载RabbitMQ和Erlang
RabbitMQ
Erlang
- 下载Erlang
选择与MQ对应的版本
将下载的RabbitMQ和Erlang上传到服务器,这里我上传到/user/download
下
二、开放端口
#MQ
firewall-cmd --add-port=15672/tcp --permanent
firewall-cmd --add-port=5672/tcp --permanent
firewall-cmd --add-port=9876/tcp --permanent
firewall-cmd --add-port=10909/tcp --permanent
firewall-cmd --add-port=10911/tcp --permanent
#Erlang
firewall-cmd --add-port=4369/tcp --permanent
firewall-cmd --reload
# 查看开放端口列表
firewall-cmd --permanent --list-port
三、安装Erlang
RabbitMQ依赖于Erlang,所以,在安装RabbitMQ之前,需要先安装Erlang。
1. 安装依赖
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel glibc-devel xmlto perl wget socat
2. 解压
cd /usr/download
tar -xvf otp_src_26.2.5.tar.gz
3.配置erlang安装目录
cd /usr/download/otp_src_26.2.5
./configure --prefix=/usr/local/erlang
4.编译安装
这个过程有点久,耐心等待
make -j2 && make install
5.配置环境变量
vim /etc/profile
在文件最后加入以下内容:
#erlang
export PATH=/usr/local/erlang/bin:$PATH
编译生效配置
source /etc/profile
6. 验证是否安装成功
erl
退出
halt().
四、安装RabbitMQ
1. 解压
cd /usr/download
tar -xvf rabbitmq-server-generic-unix-3.13.2.tar.xz
mv rabbitmq_server-3.13.2 /usr/local/rabbitmq
2.配置环境变量
vim /etc/profile
在文件最后加入以下内容:
#rabbitmq
export PATH=/usr/local/rabbitmq/sbin:$PATH
编译生效配置
source /etc/profile
3.安装web管理插件
cd /usr/local/rabbitmq/sbin
rabbitmq-plugins enable rabbitmq_management
4.启动
cd /usr/local/rabbitmq/sbin
./rabbitmq-server start
浏览器访问:IP:15672
5.添加用户
RabbitMQ默认用户和密码,都是guest
,guest用户只能在RabbitMQ本机登录使用,登录会提示User can only log in via localhost
Shell另起一个连接界面操作,服务不能停止
cd /usr/local/rabbitmq/sbin
#添加用户
#rabbitmqctl add_user 要添加账号 账户的密码
rabbitmqctl add_user rabbitmq 123456
#设置用户角色
#rabbitmqctl set_user_tags 账号 administrator
rabbitmqctl set_user_tags rabbitmq administrator
#设置用户权限
#rabbitmqctl set_permissions -p / 账号 ".*" ".*" ".*"
rabbitmqctl set_permissions -p / rabbitmq ".*" ".*" ".*"
回到第一个窗口服务停了再次启动
刷新浏览器,输入刚才设置的账号和密码
4. 开机自启
-
创建erlang的软链接
ln -s /usr/local/erlang/bin/erl /usr/bin/erl
-
编辑systemctl脚本
vi /lib/systemd/system/rabbitmq.service
复制以下内容
#启动顺序与依赖关系 [Unit] #配置文件的描述信息 Description=rabbitmq #在那个服务后面启动 一般是network.target syslog.target守护进程需要 After=network.target syslog.target #启动行为 [Service] ##以通知机制的方式启动 Type=notify #哪一个分组的用户来启动 User=root Group=root #设置服务的工作目录 WorkingDirectory=/usr/local/rabbitmq #服务启动时要执行的命令:执行的命令的路径 [命令的参数] ExecStart=/usr/local/rabbitmq/sbin/rabbitmq-server #服务停止时要执行的命令 ExecStop=/usr/local/rabbitmq/sbin/rabbitmqctl shutdown #只有当服务异常退出时才重启 Restart=on-failure #私有的临时目录 PrivateTmp=true #重新启动服务之前等待的秒数 RestartSec=10 #定义服务成功退出的状态码 SuccessExitStatus=69 #表示如何安装配置文件。 [Install] #表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行 WantedBy=multi-user.target
-
重新加载systemctl脚本
systemctl daemon-reload
-
开启开机自启
systemctl enable rabbitmq
-
重启验证
reboot #CentOS7 systemctl status rabbitmq #CentOS8 systemctl --no-pager status rabbitmq