CentOS mini 7下离线安装rabbitmq

公司的开发环境没有联网,想要从一台崭新的mini centos7安装rabbitmq。用于后续的开发,由于对linux一点不懂,被这个依赖包的问题折磨完了。

不过最终还是找到一个办法。

centos下一些命令需要的rpm包可以在此网站下载。

Index of /centos/7/os/x86_64/Packages/

比如gcc,autoconf等命令。

但是这种适合单独下载某个指定的rpm。但是无法处理关联的依赖问题。所以最简单的还是通过yum这种方式去下载到指定文件夹,自动处理依赖关系。

首先找到一台能联网的虚拟机,安装一个插件。

yum install yum-plugin-downloadonly

下载需要的rpm到指定文件夹。

yum -y install --downloadonly --downloaddir=/opt/rpm perl gcc

找到指定文件夹,将rpm移到离线的虚拟机里。然后统一安装rpm。

rpm -ivh *.rpm --force --nodeps

本文就是基于此方法来安装erlang所需要的依赖。

进入正题。

准备erlang所需的rpm包

准备rpm包

安装erlang需要下面一些插件的支持。

gcc gcc-c++ unixODBC-devel openssl-devel ncurses-devel perl

所以要提前通过能联网的机器通过文章开始说明的方式下载好这些rpm。

yum -y install --downloadonly --downloaddir=/opt/rpm gcc gcc-c++ unixODBC-devel openssl-devel ncurses-devel perl

将这些rpm转移到离线虚拟机下。然后统一安装这些rpm包。

rpm -ivh *.rpm --force --nodeps

安装erlang

rabbitmq需要erlang环境,所以需要先下载erlang源码包。

我要安装的是3.8.0版本的rabbitmq,去rabbitmq官网查看对应的erlang版本。选择了22.1版本。于是官网下载此版本erlang。

otp_src_22.1.tar.gz

将官网下载的源码包,下载后转移到centos中。准备解压源码包。

tar -xzvf otp_src_22.1.tar.gz

将源码解压的文件夹转移到 usr/local内,毕竟是比较重要的软件。类似于windows的C:\Program Files

mv otp_src_22.1 /usr/local/

进入到解压后的文件夹。准备编译。

[root@zbh rabbitmq]# cd /usr/local/otp_src_22.1/

创建一个erlang文件夹,准备放编译后的文件。

mkdir ../erlang

执行configure文件夹,生成makefile文件,配置安装路径。

./configure --prefix=/usr/local/erlang --without-javac

出现下图,不影响,继续进行。因为我们没有java环境。

编译安装到刚才指定的erlang中,此过程很慢。

make && make install

添加环境变量到profile文件中

echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile

刷新刚才添加的环境变量

[root@zbh erlang]# source /etc/profile

此时就完成了erlang的安装,测试一下。

[root@zbh erlang]# erl
Erlang/OTP 22 [erts-10.5] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1]


Eshell V10.5  (abort with ^G)
1> halt().
[root@zbh erlang]# 

或者输入erl的版本。

[root@zbh erlang]# erl -version
Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 10.5

安装RabbitMQ

官网下载rabbitmq的3.8.0的源码包。

注意要下载源码包。

rabbitmq-server-generic-unix-3.8.0.tar.xz

因为它是xz文件,需要先转换为tar文件。

[root@zbh rabbitmq]# xz -d rabbitmq-server-generic-unix-3.8.0.tar.xz

此时就变成了tar 文件。

-rw-r--r--. 1 root root 86643553 Jun 24 21:42 otp_src_22.1.tar.gz
-rw-r--r--. 1 root root 13619200 Jun 24 21:42 rabbitmq-server-generic-unix-3.8.0.tar

解压rabbitmq-server包。

[root@zbh rabbitmq]# tar -xvf rabbitmq-server-generic-unix-3.8.0.tar

转移到/usr/local中

[root@zbh rabbitmq]# mv rabbitmq_server-3.8.0/ /usr/local/

配置环境变量

[root@zbh local]# echo 'export PATH=$PATH:/usr/local/rabbitmq_server-3.8.0/sbin' >> /etc/profile

刷新环境变量

[root@zbh local]# source /etc/profile

到这就完成了rabbitmq的安装。

常用命令

启动rabbitmq

rabbitmq-server -detached

停止rabbitmq

rabbitmqctl stop

查看rabbitmq状态

rabbitmqctl status

下面代码说明了已经开启了3个端口,5672,25672,15672(管理页面的端口,我提前开启了)

Totals


Connection count: 0
Queue count: 0
Virtual host count: 1


Listeners


Interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Interface: [::], port: 15672, protocol: http, purpose: HTTP AP

查看rabitmq状态,如果出现下方代码

rabbit@zbh:
  * connected to epmd (port 4369) on zbh
  * epmd reports node 'rabbit' uses port 25672 for inter-node and CLI tool traffic
  * can't establish TCP connection to the target node, reason: timeout (timed out)
  * suggestion: check if host 'zbh' resolves, is reachable and ports 25672, 4369 are not blocked by firewall

找到  /etc/hosts文件,第一行后边添加你的主机名  zbh 即可.

配置rabbitmq

开启web管理页面的插件

rabbitmq-plugins enable rabbitmq_management

这时候主机访问192.168.182.10:15672就可以打开web管理页面。(保证端口开放给主机,或者关闭防火墙)

配置账号

guest的账号从3.3.0开始仅允许本机访问,不允许远程访问。可以修改配置文件解决这个问题,但为了安全,暂时不需要。直接创建其它管理员账号。

添加用户,设置角色,赋予权限的命令

查看用户

[root@zbh local]# rabbitmqctl list_users
Listing users ...
user	tags
guest	[administrator]

添加用户

[root@zbh local]# rabbitmqctl add_user zhengbh 123456
Adding user "zhengbh" ...

配置权限

赋予zhengbh 在 / 虚拟主机上配置消息,读和写的权限。

[root@zbh local]# rabbitmqctl set_permissions -p "/" zhengbh ".*" ".*" ".*"
Setting permissions for user "zhengbh" in vhost "/" ...

查看用户权限

[root@zbh local]# rabbitmqctl list_user_permissions zhengbh
Listing permissions for user "zhengbh" ...
vhost	configure	write	read
/	.*	.*	.*

给用户设置tag,也即是用户的角色

[root@zbh local]# rabbitmqctl set_user_tags zhengbh administrator
Setting tags for user "zhengbh" to [administrator] ...

至此基本完成了rabbitmq的安装和配置。再一次登陆zhengbh账号试试。

但是每次重新启动都需要重新开启rabbitmq服务。

rabbitmq-server -detached

没有设置自动启动,需要编写启动文件。暂时先不研究了。

安装延时插件

延时任务需要用到的延时插件,github上下载,直接拖到rabbitmq安装文件夹下的plugins下。

启动延时插件

[root@zbh local]# rabbitmq-plugins enable rabbitmq_delayed_message_exchange
[root@zbh local]# rabbitmq-plugins enable rabbitmq_delayed_message_exchange
Enabling plugins on node rabbit@zbh:
rabbitmq_delayed_message_exchange
The following plugins have been configured:
  rabbitmq_delayed_message_exchange
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@zbh...
The following plugins have been enabled:
  rabbitmq_delayed_message_exchange

started 1 plugins.

本人安装时用到的参考网址:

安装erlang

centos7下源码安装最新erlang环境 - 简书

安装rabbitmq

CentOS7安装RabbitMQ - 不该相遇在秋天 - 博客园

配置权限

RabbitMQ用户角色及权限控制 - 金虹巴巴 - 博客园

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值