centos系统下RabbitMQ安装教程
我这里的环境用的腾讯云的轻应用环境
RabbitMQ是一个开源的遵循AMQP协议实现的基于Erlang语言编写,即需要先安装部署Erlang环境再安装RabbitMQ环境。需加注意的是,读者若不想跟着我的版本号下载安装,可根据两者版本号的对应表进行下载,安装相应版本的Erlang和RabbitMQ,只需在下文修改命令里面的版本号即可,如下:
一 Erlang下载安装
在确定了RabbitMQ版本号后,先下载安装Erlang环境。
相关网站
https://packagecloud.io/rabbitmq/rabbitmq-server
wget --content-disposition https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-22.3.4.12-1.el7.x86_64.rpm/download.rpm
[root@VM-8-17-centos new]# wget --content-disposition https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.13-1.el7.noarch.rpm/download.rpm
--2022-11-27 22:54:52-- https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.13-1.el7.noarch.rpm/download.rpm
Resolving packagecloud.io (packagecloud.io)... 52.52.36.226, 54.183.55.100, 2600:1f1c:2e5:6900:6ede:11a0:5db3:4dfb, ...
Connecting to packagecloud.io (packagecloud.io)|52.52.36.226|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://d28dx6y1hfq314.cloudfront.net/828/1033/el/7/package_files/1305009.rpm?t=1669561193_b7657897acf0012634d1db181f00c0b527f201b8 [following]
--2022-11-27 22:54:53-- https://d28dx6y1hfq314.cloudfront.net/828/1033/el/7/package_files/1305009.rpm?t=1669561193_b7657897acf0012634d1db181f00c0b527f201b8
Resolving d28dx6y1hfq314.cloudfront.net (d28dx6y1hfq314.cloudfront.net)... 13.225.95.31, 13.225.95.224, 13.225.95.111, ...
Connecting to d28dx6y1hfq314.cloudfront.net (d28dx6y1hfq314.cloudfront.net)|13.225.95.31|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 15836454 (15M) [application/x-rpm]
Saving to: ‘rabbitmq-server-3.8.13-1.el7.noarch.rpm’
100%[============================================================================================>] 15,836,454 13.5MB/s in 1.1s
2022-11-27 22:54:55 (13.5 MB/s) - ‘rabbitmq-server-3.8.13-1.el7.noarch.rpm’ saved [15836454/15836454]
接着,安装已下载的rpm包
yum localinstall erlang-22.3.4.12-1.el7.x86_64.rpm
[root@VM-8-17-centos new]# yum localinstall erlang-22.3.4.12-1.el7.x86_64.rpm
Loaded plugins: fastestmirror, langpacks
Repository epel is listed more than once in the configuration
Examining erlang-22.3.4.12-1.el7.x86_64.rpm: erlang-22.3.4.12-1.el7.x86_64
Marking erlang-22.3.4.12-1.el7.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package erlang.x86_64 0:22.3.4.12-1.el7 will be installed
--> Finished Dependency Resolution
rabbitmq_erlang/x86_64/signature | 833 B 00:00:00
rabbitmq_erlang/x86_64/signature | 1.8 kB 00:00:00 !!!
rabbitmq_erlang-source/signature | 819 B 00:00:00
rabbitmq_erlang-source/signature | 951 B 00:00:00 !!!
Dependencies Resolved
======================================================================================================================================
Package Arch Version Repository Size
======================================================================================================================================
Installing:
erlang x86_64 22.3.4.12-1.el7 /erlang-22.3.4.12-1.el7.x86_64 34 M
Transaction Summary
======================================================================================================================================
Install 1 Package
Total size: 34 M
Installed size: 34 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : erlang-22.3.4.12-1.el7.x86_64 1/1
Verifying : erlang-22.3.4.12-1.el7.x86_64 1/1
Installed:
erlang.x86_64 0:22.3.4.12-1.el7
Complete!
二 RabbitMQ下载安装
下面依旧通过wget命令完成RabbitMQ的下载。
wget --content-disposition https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.13-1.el7.noarch.rpm/download.rpm
当你下载完成后,你需要运行下面的命令来将 Key 导入,执行命令:
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
yum安装:
yum localinstall rabbitmq-server-3.8.13-1.el7.noarch.rpm
[root@VM-8-17-centos new]# rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
[root@VM-8-17-centos new]# yum localinstall rabbitmq-server-3.8.13-1.el7.noarch.rpm
Loaded plugins: fastestmirror, langpacks
Repository epel is listed more than once in the configuration
Examining rabbitmq-server-3.8.13-1.el7.noarch.rpm: rabbitmq-server-3.8.13-1.el7.noarch
Marking rabbitmq-server-3.8.13-1.el7.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package rabbitmq-server.noarch 0:3.8.13-1.el7 will be installed
--> Processing Dependency: socat for package: rabbitmq-server-3.8.13-1.el7.noarch
Loading mirror speeds from cached hostfile
* centos-sclo-rh: mirrors.bupt.edu.cn
--> Running transaction check
---> Package socat.x86_64 0:1.7.3.2-2.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
======================================================================================================================================
Package Arch Version Repository Size
======================================================================================================================================
Installing:
rabbitmq-server noarch 3.8.13-1.el7 /rabbitmq-server-3.8.13-1.el7.noarch 16 M
Installing for dependencies:
socat x86_64 1.7.3.2-2.el7 os 290 k
Transaction Summary
======================================================================================================================================
Install 1 Package (+1 Dependent package)
Total size: 16 M
Total download size: 290 k
Installed size: 17 M
Is this ok [y/d/N]: y
Downloading packages:
socat-1.7.3.2-2.el7.x86_64.rpm | 290 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : socat-1.7.3.2-2.el7.x86_64 1/2
Installing : rabbitmq-server-3.8.13-1.el7.noarch 2/2
Verifying : rabbitmq-server-3.8.13-1.el7.noarch 1/2
Verifying : socat-1.7.3.2-2.el7.x86_64 2/2
Installed:
rabbitmq-server.noarch 0:3.8.13-1.el7
Dependency Installed:
socat.x86_64 0:1.7.3.2-2.el7
Complete!
如此RabbitMQ安装成功就安装成功了,安装完成后,需要启动 rabbitmq 服务器,执行命令:
systemctl start rabbitmq-server
设置开机自动启动,执行命令:
systemctl enable rabbitmq-server
在目录下启动的命令
/sbin/service rabbitmq-server start #启动
/sbin/service rabbitmq-server status #状态
/sbin/service rabbitmq-server stop #停止
三 RabbitMQ Web界面管理
默认情况下,是没有安装web端的客户端插件,需要安装才可以生效 。执行命令:
[root@VM-8-17-centos new]# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@VM-8-17-centos:
rabbitmq_management
The following plugins have been configured:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
Applying plugin configuration to rabbit@VM-8-17-centos...
The following plugins have been enabled:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
set 3 plugins.
Offline change; changes will take effect at broker restart.
安装完毕以后,重启服务即可,执行命令:
[root@VM-8-17-centos new]# systemctl restart rabbitmq-server
注意,请在服务器上开放 15672 端口
firewall-cmd --zone=public --add-port=15672/tcp --permanent
systemctl restart firewalld
新增用户。
[root@VM-8-17-centos new]# rabbitmqctl add_user admin 123456
Adding user "admin" ...
Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more.
设置用户分配操作权限。
[root@VM-8-17-centos new]# rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...
设置 vhost的用户权限
[root@VM-8-17-centos new]# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
Setting permissions for user "admin" in vhost "/" ...
最后就可以输入IP:15672登录web界面了
总结使用rpm包安装方式是最快捷的一种方式,不过还有源码安装方式,
但是比如 :erlang环境
wget http://www.erlang.org/download/otp_src_24.0.tar.gz,下载慢如蜗牛
顺便贴下过程,我这里使用otp_src_21.1.tar.gz演示
(1)安装erlang所需要的依赖
1 运行以下命令,安装erlang所需要的依赖
yum install -y make gcc gcc-c++ m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java java-devel
2 运行以下命令,下载erlang安装包
wget http://erlang.org/download/otp_src_21.1.tar.gz
3 运行以下命令,解压erlang安装包
tar -zxvf otp_src_21.1.tar.gz
4 运行以下命令,进入erlang安装包的解压路径,并为erlang创建一个新的目录
cd otp_src_21.1
mkdir -p /usr/local/erlang
5 依次运行以下命令,编译并安装erlang
./configure --prefix=/usr/local/erlang
make && make install
6 安装完成后,运行以下命令,为erlang配置环境变量
echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile
7 运行以下命令,使环境变量立即生效
source /etc/profile
8 运行以下命令,返回系统的/root目录,然后查看erlang版本,确认是否安装成功
cd
erl -version
(2)下载并安装RabbitMQ
RabbitMQ对Erlang的版本具有一定限制,更多信息,请参见RabbitMQ Erlang Version Requirements。本示例使用的Erlang为21.1版本,因此选择下载RabbitMQ 3.7.8版本
1、运行以下命令,下载RabbitMQ安装包
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.8/rabbitmq-server-generic-unix-3.7.8.tar.xz
2、运行以下命令,解压RabbitMQ安装包
tar -xvf rabbitmq-server-generic-unix-3.7.8.tar.xz
3、解压完成后,运行以下命令,为RabbitMQ配置环境变量
echo 'export PATH=$PATH:/root/rabbitmq_server-3.7.8/sbin' >> /etc/profile
4、运行以下命令,使环境变量立即生效
source /etc/profile
(3)配置RabbitMQ。
1、运行以下命令,启动RabbitMQ并后台运行
rabbitmq-server -detached
注意 该命令只在当前运行的系统环境下启动RabbitMQ,一旦服务器重启,RabbitMQ服务将不会自动启动。因此,建议您通过阿里云的云助手功能,设置RabbitMQ开机自启动。具体操作,请参见通过云助手设置RabbitMQ开机自启动。
2、运行以下命令,启动RabbitMQ监控插件。
rabbitmq-plugins enable rabbitmq_management
如果您需要关闭RabbitMQ监控插件,可以运行
rabbitmq-plugins disable rabbitmq_management
命令。
3、为保证数据安全,建议您运行以下命令,删除默认用户。
RabbitMQ默认的账号用户名和密码都是guest。
rabbitmqctl delete_user guest
4、创建RabbitMQ管理员用户。
a 运行以下命令,创建一个新用户
rabbitmqctl add_user <用户名> <密码>
其中,<用户名>和<密码>为您自定义的信息。
b 运行以下命令,将创建的新用户设置为管理员。
rabbitmqctl set_user_tags <用户名> administrator
c 运行以下命令,赋予新创建的用户所有权限
rabbitmqctl set_permissions -p / <用户名> ".*" ".*" ".*"
(4)配置RabbitMQ的rabbitmq-server文件。
1.1 运行以下命令,编辑rabbitmq-server文件。
vi /root/rabbitmq_server-3.7.8/sbin/rabbitmq-server
1.2 按下shift+:组合键,然后输入set nu查看文件的行号。
1.3 按下shift+:组合键,然后输入189跳转至189行。
1.4 按下i键,进入编辑模式
在189行新增以下内容:
export PATH=$PATH:/usr/local/erlang/bin
export HOME=/root/rabbitmq_server-3.7.8/