[linux]CentOS 7 下安装 RabbitMQ

简介

RabbitMQ 是实现了高级消息队列协议(AMQP)的开源消息代理软件。RabbitMQ 服务器是用 Erlang 语言编写的,所以下面要安装 RabbitMQ 需要安装 Erlang。

一、安装 Erlang、Elixir

1.1 准备

1、yum update

2、yum install epel-release

3、yum install gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git wget wxBase.x86_64

1.2 安装 Erlang

1、wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

2、rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

3、yum update

4、yum install erlang

5、验证是否安装成功,输入命令:erl

1)编译&安装完成以后配置Erlang环境变量

[root@MiWiFi-R3-srv otp_src_19.3]# vim /etc/profile

#追加环境变量到文件末尾

ERL_HOME=/usr/local/erlang

PATH=$ERL_HOME/bin:$PATH

export ERL_HOME PATH

[root@MiWiFi-R3-srv otp_src_19.3]# source /etc/profile

2)运行RabbitMQ需要首先开放15672和5672端口:

1、执行firewall-cmd --permanent --zone=public --add-port=156/tcp,提示FirewallD is not running,如下图所示。

2、通过systemctl status firewalld查看firewalld状态,发现当前是dead状态,即防火墙未开启。

3、通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。

4、再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了。

5、如果要关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能。

6、再次执行执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示success,表示设置成功,这样就可以继续后面的设置了。

[root@MiWiFi-R3-srv ~]# firewall-cmd --zone=public --add-port=15672/tcp --permanent

[root@MiWiFi-R3-srv ~]# firewall-cmd --zone=public --add-port=5672/tcp --permanent

[root@MiWiFi-R3-srv ~]# firewall-cmd --reload

1.3 安装 Elixir

因为 EPEL 中的 Elixir 版本太老,所以下面是通过源码编译安装的过程:

1、通过 git 下载 Elixir 源码:git clone https://github.com/elixir-lang/elixir.git

2、进到该目录:cd elixir/

3、编译:make clean test,编译完成会看到:Finished in 5.7 seconds (3.3s on load, 2.3s on tests)

4、配置 Path:export PATH="$PATH:/path/elixir/bin"

5、验证是否安装成功,输入命令:iex

二、安装 RabbitMQ

1、wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-3.6.1-1.noarch.rpm

2、rpm --import https://www.rabbitmq.com/rabbitmq-signing-key-public.asc

3、yum install rabbitmq-server-3.6.1-1.noarch.rpm

正常情况下RabbitMQ已经安装完成,最后测试一下:

[root@MiWiFi-R3-srv ~]# rabbitmq-plugins enable rabbitmq_management

[root@MiWiFi-R3-srv ~]# rabbitmq-server

至此已经安装完成,下面介绍启动和自动开机启动命令和配置

1、启动:systemctl start rabbitmq-server     或     service rabbitmq-server start

2、开机自动启动:systemctl enable rabbitmq-server   

3、查看 rabbitmq-server 状态:rabbitmqctl status

4、停止:service rabbitmq-server stop

1、# /sbin/service rabbitmq-server stop

2、# /sbin/service rabbitmq-server start

3、# rabbitmqctl status 

参考

Install RabbitMQ server in CentOS 7

http://www.aspyc.com/archives/466.html

https://www.linuxidc.com/Linux/2018-01/150600.htm

方案二:


CENTOS 7安装配置RABBITMQ

一. 安装erlang

1)下载erlang

[root@localhost src]# wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm

2)安装erlang

[root@localhost src]# rpm -ihv erlang-19.0.4-1.el7.centos.x86_64.rpm

二.安装RabbitMQ

1)下载rabbitmq

[root@localhost src]# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm

2)导入key文件

[root@localhost src]# rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc

3)编译&安装完成以后配置Erlang环境变量

[root@MiWiFi-R3-srv otp_src_19.3]# vim /etc/profile

#追加环境变量到文件末尾

ERL_HOME=/usr/local/erlang

PATH=$ERL_HOME/bin:$PATH

export ERL_HOME PATH

[root@MiWiFi-R3-srv otp_src_19.3]# source /etc/profile

4)运行RabbitMQ需要首先开放15672和5672端口:

1、执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示FirewallD is not running,如下图所示。

2、通过systemctl status firewalld查看firewalld状态,发现当前是dead状态,即防火墙未开启。

3、通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。

4、再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了。

5、如果要关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能。

6、再次执行执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示success,表示设置成功,这样就可以继续后面的设置了。

[root@MiWiFi-R3-srv ~]# firewall-cmd --zone=public --add-port=15672/tcp --permanent

[root@MiWiFi-R3-srv ~]# firewall-cmd --zone=public --add-port=5672/tcp --permanent

[root@MiWiFi-R3-srv ~]# firewall-cmd --reload


正常情况下RabbitMQ已经安装完成,最后测试一下:


[root@MiWiFi-R3-srv ~]# rabbitmq-plugins enable rabbitmq_management

[root@MiWiFi-R3-srv ~]# rabbitmq-server

5 )安装rabbitmq

[root@localhost src]# yum install -y rabbitmq-server-3.6.6-1.el7.noarch.rpm

三.开启可视化插件

[root@localhost src]# rabbitmq-plugins enable rabbitmq_management

The following plugins have been enabled:

amqp_client

cowlib

cowboy

rabbitmq_web_dispatch

rabbitmq_management_agent

rabbitmq_management

Applying plugin configuration to rabbit@localhost... failed.

* Could not contact node rabbit@localhost.

Changes will take effect at broker restart.

* Options: --online - fail if broker cannot be contacted.

 --offline - do not try to contact broker.

(注意:上面出现报错信息 Applying plugin configuration to rabbit@localhost… failed.

是因为没有启动rabbit服务也就是需要先开启服务:service rabbitmq-server start)

四.添加远程访问用户,并分配权限

[root@localhost src]# rabbitmqctl add_user yangcheng 123456

Error: unable to connect to node rabbit@localhost: nodedown

DIAGNOSTICS

===========

attempted to contact: [rabbit@localhost]

rabbit@localhost:

 * connected to epmd (port 4369) on localhost

 * epmd reports: node 'rabbit' not running at all

no other nodes on localhost

 * suggestion: start the node

current node details:

- node name: 'rabbitmq-cli-16@localhost'

- home dir: /var/lib/rabbitmq

- cookie hash: JchyWsght/ggnwo3tgnb5Q==

对于上述问题,官网有提到cookie不一致之类的问题,重启服务即可解决。

[root@localhost src]# service rabbitmq-server restart

Restarting rabbitmq-server (via systemctl):[ OK]

# 添加用户

[root@localhost src]# rabbitmqctl add_user yangcheng 123456

Creating user "yangcheng"

# 配置用户组

[root@localhost src]# rabbitmqctl set_user_tags yangcheng administrator

Setting tags for user "yangcheng" to [administrator]

# 分配权限

[root@localhost src]# rabbitmqctl set_permissions -p / yangcheng '.*' '.*' '.*'

Setting permissions for user "yangcheng" in vhost "/"

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270