因为RabbitMQ是由erlang实现的,所以要先安装erlang再安装RabbitMQ
这是一个(虚拟)零依赖64位Erlang RPM软件包,提供足够的运行RabbitMQ。在大多数环境中,它可能比其他Erlang RPM更容易安装。它可能适用于运行其他基于Erlang的软件或第三方RabbitMQ插件,也可能不适合。
这个包有一个隐含的OpenSSL / libcrypto依赖(见下文)。
RabbitMQ团队还为Debian打包了最新的Erlang / OTP版本。
提供Erlang / OTP版本
该软件包目前主要用于二郎/ OTP 21.0.x,20.3.x,19.3.x。仅提供64位软件包。
早期版本一直18.3.x都可用,但除非它们解决了一个至关重要的问题,否则不会更新。
隐式OpenSSL / libcrypto依赖
该软件包故意不包括OpenSSL / libcrypto。它必须单独提供。最近的Erlang版本需要现代的OpenSSL版本,例如1.0.1。
支持的CentOS版本
请注意上面的隐式OpenSSL / libcrypto依赖部分。
CentOS 7
CentOS 6
发布工件
Yum存储库可从Bintray和Package Cloud获得(请参阅下面的存储库设置说明)。
RPM包可以从Bintray和GitHub下载。
先配置yum软件源地址EPEL(EPEL是管理yum下载软件的软件,也可以说是一个软件仓库)后安装erlang
安装前检查是否已经安装过EPEL,命令:yum repolist
[root@oracle ~]# yum repolist
如果已经安装,就不需执行下面的安装命令了
附EPEL官网:http://fedoraproject.org/wiki/EPEL/zh-cn
[root@oracle ~]# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@oracle ~]# rpm -ivh epel-release-latest-7.noarch.rpm
[root@oracle ~]# yum repolist
rpm -e epel-release
YUM下载地址:https://bintray.com/rabbitmq/rpm/erlang
[root@oracle ~]# rpm -Uvh https://dl.bintray.com/rabbitmq/rpm/erlang/21/el/7/x86_64/erlang-21.0.4-1.el7.centos.x86_64.rpm
[root@oracle ~]# erl -version
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.0.4
或者在ErLang官网(https://bintray.com/rabbitmq/rpm/erlang)下载安装包,然后上传到服务器/usr/local/src目录下,再执行下面的命令进行安装
[root@oracle /]# cd /usr/local/src
[root@oracle src]# ll
总用量 4471340
-rw-r--r-- 1 root root 8842660 7月 25 11:31 apache-maven-3.5.4-bin.tar.gz
-rw-r--r-- 1 root root 18707320 7月 28 17:33 erlang-21.0.4-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 838986083 7月 8 23:05 fmw_12.2.1.3.0_wls_Disk1_1of1.zip
-r-xr-xr-x 1 root root 839208313 8月 22 2017 fmw_12.2.1.3.0_wls.jar
-rw-r--r-- 1 root root 9063 8月 9 2017 fmw_12213_readme.htm
-rw-r--r--. 1 root root 175274374 7月 1 00:24 jdk-8u172-linux-x64.rpm
-rw-r--r--. 1 root root 1673544724 7月 1 00:54 linuxamd64_12102_database_1of2.zip
-rw-r--r--. 1 root root 1014530602 7月 1 00:52 linuxamd64_12102_database_2of2.zip
-rw-r--r-- 1 root root 9530998 7月 28 17:33 rabbitmq-server-3.7.7-1.el7.noarch.rpm
[root@oracle src]# yum install -y erlang-21.0.4-1.el6.x86_64.rpm #安装
在Rabbit官网(https://www.rabbitmq.com/install-rpm.html)下载最新RabbitMQ的rpm安装包
[root@oracle /]# cd /usr/local/src
[root@oracle src]# ll
[root@oracle src]# yum install -y rabbitmq-server-3.7.7-1.el7.noarch.rpm #安装
能查到说明已经安装完成了
[root@oracle src]# rpm -qa|grep rabbitmq
[root@oracle src]# service rabbitmq-server start
Redirecting to /bin/systemctl start rabbitmq-server.service
[root@oracle src]# service rabbitmq-server stop
Redirecting to /bin/systemctl stop rabbitmq-server.service
[root@oracle src]# rabbitmqctl status
这样虽然我们已经将rabbitmq的服务正常启动了,但是我们在物理机的浏览器中输入ip:15672时,并不能连接,因为我们还没有配置维护插件和开启远程连接
[root@oracle src]# rabbitmq-plugins enable rabbitmq_management
[root@oracle src]# cd /etc/rabbitmq
[root@oracle rabbitmq]# cp /usr/share/doc/rabbitmq-server-3.7.7/rabbitmq.config.example /etc/rabbitmq/ #文件复制到/etc/rabbitmq/目录下
[root@oracle rabbitmq]# mv rabbitmq.config.example rabbitmq.config #文件重命名
[root@oracle rabbitmq]# vi /etc/rabbitmq/rabbitmq.config
[root@oracle rabbitmq]# service rabbitmq-server restart
[root@oracle ~]# sudo vi /etc/sysconfig/iptables
添加参数
-A INPUT -m state --state NEW -m tcp -p tcp --dport 15672 -j ACCEPT
如果是通过java连接使用的是5672端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5672 -j ACCEPT
[root@oracle ~]# sudo systemctl restart iptables #重启生效
在浏览器中输入ip:15672即可出现登录页面,用户名和密码都是guest
登录成功之后会出现如下图
至此RabbitMQ在CentOS7.5.1804 Minimal中安装完成!
关于RabbitMQ的一些基本操作
#启动服务
systemctl start rabbitmq-server.service 或 service rabbitmq-server start
#停止服务
systemctl stop rabbitmq-server.service 或 service rabbitmq-server stop
#重启服务
systemctl restart rabbitmq-server.service 或 service rabbitmq-server restart
#设置开机启动
systemctl enable rabbitmq-server.service
#停止开机启动
systemctl disable rabbitmq-server.service
#查看服务当前状态
systemctl status rabbitmq-server.service
#查看所有已启动服务
systemctl list-units --type=service
# 查看当前所有用户
$ sudo rabbitmqctl list_users
# 查看默认guest用户的权限
$ sudo rabbitmqctl list_user_permissions guest
# 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户
$ sudo rabbitmqctl delete_user guest
# 添加新用户
$ sudo rabbitmqctl add_user username password
# 设置用户tag
$ sudo rabbitmqctl set_user_tags username administrator
# 赋予用户默认vhost的全部操作权限
$ sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
# 查看用户的权限
$ sudo rabbitmqctl list_user_permissions username
更多关于rabbitmqctl的使用,可以参考帮助手册。
开启web管理接口
如果只从命令行操作RabbitMQ,多少有点不方便。幸好RabbitMQ自带了web管理界面,只需要启动插件便可以使用。
$ sudo rabbitmq-plugins enable rabbitmq_management
然后通过浏览器访问
http://localhost:15672
输入用户名和密码访问web管理界面了。
配置RabbitMQ
关于RabbitMQ的配置,可以下载RabbitMQ的配置文件模板到/etc/rabbitmq/rabbitmq.config, 然后按照需求更改即可。
关于每个配置项的具体作用,可以参考官方文档。
更新配置后,别忘了重启服务哦!
开启用户远程访问
默认情况下,RabbitMQ的默认的guest用户只允许本机访问, 如果想让guest用户能够远程访问的话,只需要将配置文件中的loopback_users列表置为空即可,如下:
{loopback_users, []}
另外关于新添加的用户,直接就可以从远程访问的,如果想让新添加的用户只能本地访问,可以将用户名添加到上面的列表, 如只允许admin用户本机访问。
{loopback_users, [“admin”]}
更新配置后,别忘了重启服务哦!