阿里云服务centOS7下安装rabbitmq

环境:

centos:  7.4;阿里云服务器

erlang :18.3;

rabbitmq :rabbitmq-server-generic-unix-3.6.15

参考:1、erlang与centos,rabbitmq与erlang,这些都是有依赖关系的,不同版本会存在不兼容性。

2、rabbitmq官方给出的与erlang/OTP的版本兼容要求:    http://www.rabbitmq.com/which-erlang.html;

3、erlang官方下载地址(压缩包):http://www.erlang.org/downloads;

下面二进制(rpm)格式的下载地址:https://www.erlang-solutions.com/resources/download.html

4、rabbitmq官方下载地址:http://www.rabbitmq.com/install-rpm.html;

step1安装erlang;这个链接安装的是18.3的erlang

#####使用wget 方式下载rpm并安装

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

Ø rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

Ø rpm -import http://packages.erlang-solutions.com/rpm/erlang_solutions.asc

Ø yum install erlang

成功界面截图()

验证是否成功

step2下载安装rabbitmq

v wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-generic-unix-3.6.15.tar.xz

v xz -d rabbitmq-server-generic-unix-3.6.15.tar.xz

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

####将解压后的rabbitmq_server-3.6.15移动到/usr/loca目录下,

v sudo mv rabbitmq_server-3.6.15/ /usr/local/rabbitmq

step3设置环境变量

第一种方式:临时变量,在shell窗口中运行下面的命令即可

export PATH=$PATH:/usr/local/rabbitmq/sbin

第二种方式:持久变量,需要更改/etc/profile文件,在该文件最后添加export PATH=$PATH:/usr/local/rabbitmq/sbin,然后退出编辑,是/etc/profile文件生效

##编辑  profile 文件

vi /etc/profile

#使编辑后的profile文件生效

source /etc/profile

step4启动rabbitmq

进入/usr/local/rabbitmq/sbin目录,运行rabbitmq-server 出现如下信息就说明已经启动了

rabbitmq-server -detatched 以守护进程方式启动

rabbitmq-server在当前session中启动,当session过期后,会关闭rabbitmq

异常记录:

-bash-4.2$ rabbitmq-server

/usr/local/rabbitmq/sbin/rabbitmq-server: line 51: /usr/local/rabbitmq/var/lib/rabbitmq/mnesia/[email protected]: Permission denied

Failed to write pid file: /usr/local/rabbitmq/var/lib/rabbitmq/mnesia/[email protected]

-bash-4.2$ sudo ./rabbitmq-server

[sudo] password for ddps:

BOOT FAILED

===========

Error description:

   noproc

Log files (may contain more information):

   /usr/local/rabbitmq/var/log/rabbitmq/[email protected]

   /usr/local/rabbitmq/var/log/rabbitmq/[email protected]

Stack trace:

   [{gen,do_for_proc,2,[{file,"gen.erl"},{line,228}]},

    {gen_event,rpc,2,[{file,"gen_event.erl"},{line,239}]},

    {rabbit,ensure_working_log_handlers,0,

            [{file,"src/rabbit.erl"},{line,856}]},

    {rabbit,'-boot/0-fun-0-',0,[{file,"src/rabbit.erl"},{line,288}]},

    {rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,424}]},

    {init,start_em,1,[]},

    {init,do_boot,3,[]}]

=INFO REPORT==== 10-Jul-2018::09:39:00.860378 ===

Error description:

   noproc

Log files (may contain more information):

   /usr/local/rabbitmq/var/log/rabbitmq/[email protected]

   /usr/local/rabbitmq/var/log/rabbitmq/[email protected]

Stack trace:

   [{gen,do_for_proc,2,[{file,"gen.erl"},{line,228}]},

    {gen_event,rpc,2,[{file,"gen_event.erl"},{line,239}]},

    {rabbit,ensure_working_log_handlers,0,

            [{file,"src/rabbit.erl"},{line,856}]},

    {rabbit,'-boot/0-fun-0-',0,[{file,"src/rabbit.erl"},{line,288}]},

    {rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,424}]},

    {init,start_em,1,[]},

    {init,do_boot,3,[]}]

{"init terminating in do_boot",noproc}

init terminating in do_boot (noproc)

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

-bash-4.2$

原因:权限问题

从上面的方法可以看出,先是用普通账户启动的,但是报:rabbit@**.pid: Permission denied;然后又用sudo方式启动,结果还是失败,报Error description: noproc错误;

之后使用root账户,能启动,然后查看日志文件,发现权限有问题,拥有者是root

解决方案有两种,一种是用root账户启动,另一种是更改文件的拥有者,将/usr/local/下的rabbitmq文件夹及其所有子文件全部更改拥有者。
--------------------- 
作者:高傲的孤独 
来源:CSDN 
原文:https://blog.csdn.net/qq_35131811/article/details/80985142 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/liu0808/article/details/83754654