RabbitMq安装过程

安装Erlong
RabbitMQ是一个开源的遵循 AMQP协议实现的基于 Erlang语言编写,即需要先安装部署Erlang环境再安装RabbitMQ环境。需加注意的是,根据两者版本号的对应表安装相应版本的Erlang和RabbitMQ。
1.先下载:http://erlang.org/download/otp_src_20.3.tar.gz
2.解压:tar -xvf otp_src_20.3.tar.gz
3.准备环境:yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
4.进入目录:cd otp_src_20.3
5.设定安装规则:

./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac

6.安装:make && make install
7.配置环境变量:

vim /etc/profile

添加配置:
#set erlang environment
ERL_PATH=/usr/local/erlang/bin
PATH=$ERL_PATH:$PATH

使配置生效:
source /etc/profile

8.检验是否安装成功:erl
在这里插入图片描述
退出:halt().
参考博客链接:

https://blog.csdn.net/ws_kfxd/article/details/85858736

安装Socat

yum install -y socat

安装RabbitMQ
1.通过在线安装或者下载后rpm包后再上传到服务器上

rpm -Uvh https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.9/rabbitmq-server-3.8.9-1.el7.noarch.rpm --nodeps

如果遇到网络很慢的问题,建议下载rpm包,上传到Linux服务器

rpm -Uvh rabbitmq-server-3.8.9-1.el7.noarch.rpm --nodeps

如果遇到erlang已安装且版本正确,但是RabbitMQ检测失败的情况,可以追加参数 —nodeps (不验证软件包依赖)

2.启用Rabbit MQ服务

systemctl enable rabbitmq-server

3.启动Rabbit MQ服务

systemctl start rabbitmq-server

查看服务状态

systemctl status rabbitmq-server

在这里插入图片描述
4.停止服务

systemctl stop rabbitmq-server

5.重启服务

systemctl restart rabbitmq-server

参考博客链接:

https://blog.csdn.net/qq_39706515/article/details/119972725

RabbitMq遇到的问题
问题1:erlang版本要求
解决方法:去官网下载要求的版本
问题2:erlang版本已经下载了要求的版本还是出现问题1的错误
解决方法:加上–nodeps参数

[root@localhost ]# rpm -ivh --nodeps rabbitmq-server-3.8.12-1.el7.noarch.rpm 

问题3:启动rabbitmq报错

[root@localhost ]# systemctl start rabbitmq-server
Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.

解决方法:查看日志

[root@slave2 rabbitmq]# journalctl -xe
Feb 19 07:15:52 slave2 systemd[1]: Failed to start RabbitMQ broker.
-- Subject: Unit rabbitmq-server.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
   Unit rabbitmq-server.service has failed.
-- 
-- The result is failed.
Feb 19 07:15:52 slave2 systemd[1]: Unit rabbitmq-server.service entered failed state.
Feb 19 07:15:52 slave2 systemd[1]: rabbitmq-server.service failed.
Feb 19 07:16:01 slave2 polkitd[902]: Registered Authentication Agent for unix-process:52647:403980 (system bus name :1.27 [/usr/bin/pk
Feb 19 07:16:02 slave2 systemd[1]: rabbitmq-server.service holdoff time over, scheduling restart.
Feb 19 07:16:02 slave2 systemd[1]: Stopped RabbitMQ broker.
-- Subject: Unit rabbitmq-server.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit rabbitmq-server.service has finished shutting down.
Feb 19 07:16:02 slave2 systemd[1]: Starting RabbitMQ broker...
-- Subject: Unit rabbitmq-server.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit rabbitmq-server.service has begun starting up.
Feb 19 07:16:02 slave2 rabbitmq-server[52652]: /usr/lib/rabbitmq/bin/rabbitmq-server: line 82: exec: erl: not found
Feb 19 07:16:02 slave2 systemd[1]: rabbitmq-server.service: main process exited, code=exited, status=127/n/a
Feb 19 07:16:02 slave2 systemd[1]: Failed to start RabbitMQ broker.
-- Subject: Unit rabbitmq-server.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit rabbitmq-server.service has failed.
-- 
-- The result is failed.
Feb 19 07:16:02 slave2 systemd[1]: Unit rabbitmq-server.service entered failed state.
Feb 19 07:16:02 slave2 systemd[1]: rabbitmq-server.service failed.

发现错误提示,找不到erl环境

Feb 19 07:16:02 slave2 rabbitmq-server[52652]: /usr/lib/rabbitmq/bin/rabbitmq-server: line 82: exec: erl: not found

修改rabbitmq-server启动脚本(启动脚本位置可以在报错日志里面拿到我的是上面报错提示的/usr/lib/rabbitmq/bin/rabbitmq-server)在set -e下面添加两行

#erlang
export PATH=$PATH:/usr/local/erlang/bin

这一步是配置erlang的环境变量 和安装erlang第七步相同。

[root@slave2 rabbitmq]# vim /usr/lib/rabbitmq/bin/rabbitmq-server 
#!/bin/sh
# vim:sw=4:et:
##  The contents of this file are subject to the Mozilla Public License
##  Version 1.1 (the "License"); you may not use this file except in
##  compliance with the License. You may obtain a copy of the License
##  at https://www.mozilla.org/MPL/
##
##  Software distributed under the License is distributed on an "AS IS"
##  basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
##  the License for the specific language governing rights and
##  limitations under the License.
##
##  The Original Code is RabbitMQ.
##
##  The Initial Developer of the Original Code is GoPivotal, Inc.
##  Copyright (c) 2007-2021 VMware, Inc. or its affiliates.  All rights reserved.
##

set -e
#erlang
export PATH=$PATH:/usr/local/erlang/bin
# Get default settings with user overrides for (RABBITMQ_)<var_name>
# Non-empty defaults should be set in rabbitmq-env
SCRIPTS_DIR=$(dirname "$0")
. "$SCRIPTS_DIR/rabbitmq-env"

[ "$NOTIFY_SOCKET" ] && RUNNING_UNDER_SYSTEMD=true

RABBITMQ_DEFAULT_ALLOC_ARGS="+MBas ageffcbf +MHas ageffcbf +MBlmbcs 512 +MHlmbcs 512 +MMmcs 30"

# Bump ETS table limit to 50000
if [ "x" = "x$ERL_MAX_ETS_TABLES" ]; then
    ERL_MAX_ETS_TABLES=50000
fi

check_start_params() {
    check_not_empty RABBITMQ_BOOT_MODULE

参考博客链接:

https://blog.csdn.net/weixin_43914685/article/details/113871672

因为安装时我遇到的错误是:
在这里插入图片描述
查看日志后的信息为:
在这里插入图片描述
因此解决方案是修改rabbitmq-server启动脚本。

当然也看到一些错误原因是是未设置host配置引起的:
host文件并未配置,mq服务要启动,需要对应的ip和主机名映射。

[root@xxxx /]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.38.110 xxxx

获取主机名和ip:

[root@xxxx /]# hostname
xxxx
[root@xxxx /]# ifconfig

访问
guest用户默认只可以localhost(本机)访问
因此:
在rabbitmq的配置文件目录下(默认为:/etc/rabbitmq)创建一个rabbitmq.config文件。文件中添加如下配置(请不要忘记那个“.”):

[{rabbit, [{loopback_users, []}]}].

重启rabbitmq服务

systemctl restart rabbitmq-server

如果仍不能用主机浏览器访问,可能需要关闭虚拟机的防火墙。

查看状态:systemctl status firewalld
关闭: systemctl stop firewalld

参考博客链接:

https://www.cnblogs.com/qstudy/p/Linux.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RabbitMQ是一个开源的消息代理软件,它实现了高级消息队列协议(AMQP),用于在应用系统之间进行消息传递。以下是RabbitMQ安装过程: 步骤1:安装Erlang 首先,你需要安装Erlang,因为RabbitMQ是用Erlang编写的。你可以通过以下步骤在你的系统上安装Erlang: 1. 在Erlang官方网站(https://www.erlang.org/downloads)上下载适用于你的操作系统的二进制包。 2. 安装二进制包,并按照安装向导进行配置。 步骤2:安装RabbitMQ 一旦你成功安装了Erlang,你就可以继续安装RabbitMQ了。以下是在常见操作系统上安装RabbitMQ的步骤: - 对于Ubuntu: 1. 打开终端。 2. 运行以下命令以添加RabbitMQ的APT存储库: ``` echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list ``` 3. 导入RabbitMQ的公共密钥: ``` wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add - ``` 4. 更新软件包列表并安装RabbitMQ服务器: ``` sudo apt-get update sudo apt-get install rabbitmq-server ``` 5. 安装完成后,RabbitMQ将自动启动。 - 对于CentOS: 1. 打开终端。 2. 运行以下命令以添加RabbitMQ的YUM存储库: ``` sudo tee /etc/yum.repos.d/rabbitmq.repo <<EOF [rabbitmq] name=rabbitmq baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch enabled=1 gpgcheck=0 repo_gpgcheck=1 gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 EOF ``` 3. 更新软件包列表并安装RabbitMQ服务器: ``` sudo yum install rabbitmq-server ``` 4. 启动RabbitMQ服务: ``` sudo systemctl start rabbitmq-server ``` 步骤3:配置和管理RabbitMQ 一旦你成功安装RabbitMQ,你可以通过访问http://localhost:15672来访问RabbitMQ的Web管理界面。默认的用户名和密码是`guest`,你可以在必要时进行更改。 希望这些步骤能帮助你安装并开始使用RabbitMQ。请注意,上述步骤可能因操作系统版本而有所不同,所以请查阅相关文档以获取更详细的说明。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值