linux环境下搭建rabbitMQ单节点

本文详细介绍了在CentOS 6.5环境下搭建RabbitMQ消息队列服务的全过程,包括Erlang环境的配置、RabbitMQ的安装与启动、解决依赖问题及防火墙配置,最后通过浏览器验证服务是否正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux环境  CentOS-6.5-x86_64

erlang版本 otp_src_20.0.tar.gz 

wget http://erlang.org/download/otp_src_20.0.tar.gz

rabbitMQ版本 rabbitmq-server-generic-unix-3.6.15.tar.xz

https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/

10909080dedd4109c23dd919208ab839d6f.jpg

 

开始搭建

先修改hosts,命名主机名称,192.168.220.129是我虚拟机的一个IP

# vi /etc/hosts

192.168.220.129 rabbitmq

# cd /usr/local/src   (把otp_src_20.0.tar.gz 以及rabbitmq-server-generic-unix-3.6.15.tar上传到此目录)

af1fbd5316ef95cffccba86243721173745.jpg

# tar xvf otp_src_20.0.tar.gz  (由于rabbitmq是erlang语言开发的,所以先安装erlang环境)

# cd otp_src_20.0

a907a8f5f9f8e8a6eb07d390a0383c1b5bd.jpg

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

执行完之后,如果出现下图红色框所示,还需要  ncurses-devel.x86_64

0a13464abb357907962b42687c3463babfc.jpg

会报个小错 Makefile:248: /usr/local/otp_src_20.0/make/x86_64-unknown-linux-gnu/otp_ded.mk: No such file or directory error: No curses library functions found

# yum install ncurses-devel.x86_64

8b166188a188fa6c51c31a88e4205bab6cf.jpg

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

继续执行,出现以下的信息,说明正常了

5a965d120dbccd09274de917cdd47d14eb6.jpg

#make && make install

安装完之后,配置一下erlang的环境变量

#vi /etc/profile

0fa1b160fad3184bf70761d50a475d7d571.jpg

添加后保存退出

#source /etc/profile

使用source使文件立即生效

#erl

a6bb8b129a682a14eea238837dbeade0b82.jpg

erlang环境OK了,接下来是rabbitMQ的安装

#cd /usr/local/src

#tar xvf rabbitmq-server-generic-unix-3.6.15.tar

09c35cd717481a34e92bf99d122ce235197.jpg

[root@rabbitmq src]# mv rabbitmq_server-3.6.15/ ../rabbitmq

cdf01d4f940b54f7629e27ed225d5b23446.jpg

#vi /etc/profile

e5dd896e082af5c30152ea94cf309cd7303.jpg

按照如上如所示配置rabbitMQ环境变量,并执行source /etc/profile 

#source /etc/profile

#rabbitmq-server -detached

执行rabbitmq-server -detached 启动后台守护进程启动,否则shell退出后,rabbitmq也退出。

6b9fa943680eef874d76c8021cef7281669.jpg

#rabbitmqctl status

查看rabitmq状态是否启动,如果抛如下错误

Status of node rabbit@rabbitmq
Error: unable to connect to node rabbit@rabbitmq: nodedown

DIAGNOSTICS
===========

attempted to contact: [rabbit@rabbitmq]

rabbit@rabbitmq:
  * connected to epmd (port 4369) on rabbitmq
  * epmd reports: node 'rabbit' not running at all
                  no other nodes on rabbitmq
  * suggestion: start the node

current node details:
- node name: 'rabbitmq-cli-31@rabbitmq'
- home dir: /root
- cookie hash: JTCyebhk7sHDdUd5ICe4kg==

执行rabbitmq-service stop停掉服务先

# rabbitmq-server stop

如果stop命令执行后抛如下命令,大概的意思是erlang还依赖openssl

BOOT FAILED
===========

Error description:
   {error,{missing_dependencies,[crypto,ssl],
                                [cowboy,cowlib,rabbitmq_management,
                                 rabbitmq_management_agent,
                                 rabbitmq_trust_store]}}

Log files (may contain more information):
   /usr/local/rabbitmq/var/log/rabbitmq/rabbit@rabbitmq.log
   /usr/local/rabbitmq/var/log/rabbitmq/rabbit@rabbitmq-sasl.log

Stack trace:
   [{rabbit_plugins,ensure_dependencies,1,
                    [{file,"src/rabbit_plugins.erl"},{line,185}]},
    {rabbit_plugins,prepare_plugins,1,
                    [{file,"src/rabbit_plugins.erl"},{line,203}]},
    {rabbit,broker_start,0,[{file,"src/rabbit.erl"},{line,300}]},
    {rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,424}]},
    {init,start_em,1,[]},
    {init,do_boot,3,[]}]

{"init terminating in do_boot",{error,{missing_dependencies,[crypto,ssl],[cowboy,cowlib,rabbitmq_management,rabbitmq_management_agent,rabbitmq_trust_store]}}}
init terminating in do_boot ({error,{missing_dependencies,[crypto,ssl],[cowboy,cowlib,rabbitmq_management,rabbitmq_management_agent,rabbitmq_trust_store]}})

Crash dump is being written to: erl_crash.dump...done
 

进入/usr/local/src目录下载openssl

#cd  /usr/local/src

#wget http://www.openssl.org/source/openssl-1.0.1s.tar.gz

ade35905fa404f35e1e62728c83499bd7b2.jpg

#tar -zvxf openssl-1.0.1s.tar.gz

#cd openssl-1.0.1s

#./config --prefix=/usr/local/openssl

#vi Makefile

使用/搜索CFLAG 添加如下图所示,其实就是添加-fPIC

659f3fab73a7e9b09c8dfcc998ab1465982.jpg

#make && make install

be8778b0c2797590b436d46ede788bba278.jpg

安装完成后,还需要重新安装一下erlang,方式有一点改变,就是openssl指定了安装的路径,回到otp_src_20.0安装包下

#cd /usr/local/src/otp_src_20.0

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

#make && make install

安装完成后,重新启动rabbitmq

#rabbitmq-server -detached

#ps -ef |grep rabbitmq

dfb920ffcca1c9481229f78cc4e02ae948c.jpg

#rabbitmqctl status

deebabc8c77f100d5655cb464ff6f2f6ad9.jpg

rabbitmq服务已经搭建完成,然后开启rabbitmq web服务,看到started 6 plugins,说明已经启动成功

#rabbitmq-plugins enable rabbitmq_management

34f2e288c12d6db9a9f5d215b9afb56774a.jpg

剩下的就是开启防火墙了

#vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 5672 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 15672 -j ACCEPT
 

5ec236baeb5fdc8b13faf84194651e94505.jpg

#service iptables restart

打开浏览器,输入你的IP:15672即可访问

9e812d7c29aa72779f2bb1140bba677d1b8.jpg

转载于:https://my.oschina.net/u/3155476/blog/3096748

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值