乐趣区

关于后端:Centos7服务器上RabbitMQ单机安装

一、背景

最近我的项目中用到了RabbitMQ,然而发现自己本地没有装置,此文记录一下本地 RabbitMQ 的装置过程。留神不同的零碎装置形式略有不同,此处咱们记录的是 Centos7 的装置形式。

二、装置形式

此处咱们通过 rpm 的形式来装置,官网介绍了 2 种形式来装置这些 rpm。

1、第二种装置形式须要的依赖

第二种形式装置 RabbitMQ 须要的依赖为:

2、装置 RabbitMQ 须要的用户权限

三、装置 RabbitMQ

1、装置 erlang

1、RabbitMQ 须要的 erlang 的版本

不同的 RabbitMQ 须要不同的 erlang 版本,那么这个版本在哪个中央能够下载到了?
能够通过下方这个链接看到 https://www.rabbitmq.com/which-erlang.html

2、erlang 起源抉择


erlang的起源可能有多个中央,比方来自 erlang 官网,来自 rabbitmq 提供的。而在 RabbitMQ 的装置指南中,举荐应用 RabbitMQ 提供的 erlang 安装包,这个安装包只提供了 RabbitMQ 须要的 erlang 组件。

3、下载 erlang

此处下载的 erlang,咱们抉择 RabbitMQ 提供的。然而此处咱们也须要留神 erlang 的版本,因为不同的版本的 erlang,可能反对不同的零碎。

1、留神零碎 openssl 的版本

不同版本的 erlang 须要不同的 openssl 版本,我的零碎是 centos7,电脑上的 openssl 版本是 1.0x,因而抉择 erlang 23。

2、装置 erlang23 版本

1、导入 RabbitMQ 的签名 key
## primary RabbitMQ signing key
rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
2、配置本地 yum 源
# In /etc/yum.repos.d/rabbitmq_erlang.repo
[rabbitmq_erlang]
name=rabbitmq-rabbitmq-erlang
baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/rpm/el/7/$basearch
repo_gpgcheck=1
enabled=1
gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key
       https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md

[rabbitmq_erlang-noarch]
name=rabbitmq-rabbitmq-erlang-noarch
baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/rpm/el/7/noarch
repo_gpgcheck=1
enabled=1
gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key
       https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md

[rabbitmq_erlang-source]
name=rabbitmq-rabbitmq-erlang-source
baseurl=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/rpm/el/7/SRPMS
repo_gpgcheck=1
enabled=1
gpgkey=https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key
       https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md
3、装置 erlang
yum update -y
# 装置 erlang
yum install -y erlang-23.3.4
# 验证 erlang 是否装置胜利
erl --version

2、装置 RabbitMQ

# 下载 rabbitmq server
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.11/rabbitmq-server-3.9.11-1.el7.noarch.rpm

# 装置须要的依赖 
yum install socat logrotate -y

# 装置 rabbitmq server
yum install rabbitmq-server-3.9.11-1.el7.noarch.rpm

3、启动 RabbitMQ

# 启动 rabbitmq
service rabbitmq-server start

4、查看 RabbitMQ 的状态

service rabbitmq-server status

5、敞开 RabbitMQ

service rabbitmq-server stop

四、启动 RabbitMQ 的管控台

1、执行启用命令

rabbitmq-plugins enable rabbitmq_management

2、放行 15672 端口

默认状况下,rabbitmq_management插件是运行在 15672 端口的,此时咱们须要在防火墙中放行 15672 端口外界才能够拜访。

# 查看防火墙放行的端口
[root@centos01 rabbitmq]# firewall-cmd --zone=public --list-ports
8091/tcp
# 放行 15672 端口
[root@centos01 rabbitmq]# firewall-cmd --zone=public --add-port=15672/tcp --permanent
success
# 使刚刚配置的防火墙失效
[root@centos01 rabbitmq]# firewall-cmd --reload
success
[root@centos01 rabbitmq]# firewall-cmd --zone=public --list-ports
8091/tcp 15672/tcp
[root@centos01 rabbitmq]#

3、登录管控台

1、应用默认的 guest 用户登录


默认的 guest 账户的明码是 guest,能够看到这个账户只能通过localhost 来拜访。这个限度能够通过批改 RabbitMQ 的配置来解决,此处咱们不解决,采纳从新创立一个用户来解决这个问题。

2、创立一个 admin 用户

1、创立 admin 用户, 明码也是 admin

[root@centos01 rabbitmq]# rabbitmqctl add_user admin admin

2、给用户赋予 administrator 角色

[root@centos01 rabbitmq]# rabbitmqctl set_user_tags admin administrator

3、给用户在虚拟主机 / 上赋予所有权限

[root@centos01 rabbitmq]# rabbitmqctl  set_permissions -p / admin '.*' '.*' '.*'

3、应用刚刚创立的 admin 用户登录

五、RabbitMQ 波及的端口

六、注意事项及问题

1、RabbitMQ 和与之对应的 erlang 的版本号对应对应上。能够通过此链接查看 https://www.rabbitmq.com/which-erlang.html
2、RabbitMQ 本人提供了一个 erlang 虚拟机,倡议应用这个。网址为 https://github.com/rabbitmq/erlang-rpm
3、须要留神不同版本的 RabbitMQ 须要零碎上 openssl 的版本问题。RabbitMQ 的装置指南中有。
4、RabbitMQ 的 node name 默认申请下是 rabbit@hostname,因而咱们不要轻易批改主机名,否则可能呈现问题。
5、RabbitMQ 启动后,如何查看日志文件、RabbitMQ 目录、配置文件、erlang cookie 的值?
默认申请下日志文件的门路是 /var/log/rabbitmq目录下,咱们能够关上这个目录下的日志文件查看。

less /var/log/rabbitmq/rabbit\@centos01.log


6、批改用户能够关上的最大文件数ulimit -n,大部分零碎默认是1024,举荐批改成65536
7、RabbitMQ 的配置文件门路

/etc/rabbitmq/rabbitmq.conf

下面只是 RabbitMQ 其中的一个配置文件门路,也能够搁置在别的目录下。

七、参考链接

1、RabbitMQ 须要的 erlang 版本
2、RabbitMQ 提供的 erlang 地址
3、RabbitMQ 的 rpm 装置指南
4、RabbitMQ 的配置

退出移动版