Linux下RabbitMQ详细安装流程

Linux下RabbitMQ详细安装流程,第1张

本文章选取的服务器 *** 作系统:CentOS 7版本;

在 /etc/yum.repos.d/ 目录下添加 .repo 文件(例如:rabbitmq-erlang.repo),因发行版的不同,文件内容也有区别,以下是Centos 7 的配置

在 /etc/yum.repos.d/ 目录下添加 .repo 文件(例如:rabbitmq.repo),因发行版的不同,文件内容也有区别,以下是Centos 7 的配置:

进入 /etc/systemd/system 或者/usr/lib/systemd/system,并创建rabbitmq-server.service 文件。

注意:通过 yum 安装的,已经在 /usr/lib/systemd/system 目录下存在rabbitmq-server.service 文件。

RabbitMQ 安装

# Install from EPEL

[root@vdevops~]# yum --enablerepo=epel -y install rabbitmq-server

[root@vdevops~]# systemctl start rabbitmq-server

[root@vdevops /]# journalctl -xe

Nov 12 01:30:01 vdevops.org CROND[3856]: (root) CMD (/usr/lib64/sa/sa1 1 1)

Nov 12 01:30:04 vdevops.org rabbitmqctl[3831]: DIAGNOSTICS

Nov 12 01:30:04 vdevops.org rabbitmqctl[3831]: ===========

Nov 12 01:30:04 vdevops.org rabbitmqctl[3831]: attempted to contact: [rabbit@vdevops]

Nov 12 01:30:04 vdevops.org rabbitmqctl[3831]: rabbit@vdevops:

Nov 12 01:30:04 vdevops.org rabbitmqctl[3831]: * unable to connect to epmd (port 4369) on vdevops: timeout (timed out)

Nov 12 01:30:04 vdevops.org rabbitmqctl[3831]: current node details:

Nov 12 01:30:04 vdevops.org rabbitmqctl[3831]: - node name: rabbitmqctl3831@vdevops

Nov 12 01:30:04 vdevops.org rabbitmqctl[3831]: - home dir: /var/lib/rabbitmq

Nov 12 01:30:04 vdevops.org rabbitmqctl[3831]: - cookie hash: s++dDMtIhAufFItw+ercBw==

Nov 12 01:30:04 vdevops.org polkitd[1007]: Unregistered Authentication Agent for unix-process:3798:36632 (system bus name :1.23, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected f

Nov 12 01:30:04 vdevops.org systemd[1]: rabbitmq-server.service: control process exited, code=exited status=2

Nov 12 01:30:04 vdevops.org 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.

Nov 12 01:30:04 vdevops.org systemd[1]: Unit rabbitmq-server.service entered failed state.

Nov 12 01:30:04 vdevops.org systemd[1]: rabbitmq-server.service failed.

Nov 12 01:30:42 vdevops.org systemd[1]: Got automount request for /proc/sys/fs/binfmt_misc, triggered by 3860 (find)

Nov 12 01:30:42 vdevops.org systemd[1]: Mounting Arbitrary Executable File Formats File System...

-- Subject: Unit proc-sys-fs-binfmt_misc.mount has begun start-up

-- Defined-By: systemd

-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel

--

-- Unit proc-sys-fs-binfmt_misc.mount has begun starting up.

Nov 12 01:30:42 vdevops.org systemd[1]: Mounted Arbitrary Executable File Formats File System.

-- Subject: Unit proc-sys-fs-binfmt_misc.mount has finished start-up

-- Defined-By: systemd

-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel

--

-- Unit proc-sys-fs-binfmt_misc.mount has finished starting up.

--

-- The start-up result is done.

rabbitmq-server启动报错:Failed to start RabbitMQ broker

度娘解析:主机hostname配置错误,原本hostname为vdevops.org,更改为vdevops,修改hosts文件中hostname设置

[root@vdevops /]# hostnamectl set-hostname vdevops # hostname更改重启启动rabbitmq-server

[root@vdevops /]# systemctl status rabbitmq-server

● rabbitmq-server.service - RabbitMQ broker

Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.servicedisabledvendor preset: disabled)

Active: active (running) since Sat 2016-11-12 01:32:41 CST3min 58s ago

Process: 3831 ExecStop=/usr/lib/rabbitmq/bin/rabbitmqctl stop (code=exited, status=2)

Main PID: 3891 (beam)

CGroup: /system.slice/rabbitmq-server.service

├─3891 /usr/lib64/erlang/erts-5.10.4/bin/beam -W w -K true -A30 -P 1048576 -- -root /usr/lib64/erlang -progname erl -- -home /var/lib/rabbitmq -- -pa /usr/lib/rabbitmq/lib/rabbitmq_server-3.3.5/sbin/../ebin -nos...

├─3908 /usr/lib64/erlang/erts-5.10.4/bin/epmd -daemon

├─3963 inet_gethost 4

└─3964 inet_gethost 4

Nov 12 01:32:39 vdevops systemd[1]: Starting RabbitMQ broker...

Nov 12 01:32:39 vdevops systemd[1]: rabbitmq-server.service: Got notification message from PID 3908, but reception only permitted for main PID 3891

Nov 12 01:32:40 vdevops rabbitmq-server[3891]: RabbitMQ 3.3.5. Copyright (C) 2007-2014 GoPivotal, Inc.

Nov 12 01:32:40 vdevops rabbitmq-server[3891]: ## ## Licensed under the MPL. See http://www.rabbitmq.com/

Nov 12 01:32:40 vdevops rabbitmq-server[3891]: ## ##

Nov 12 01:32:40 vdevops rabbitmq-server[3891]: ########## Logs: /var/log/rabbitmq/rabbit@vdevops.log

Nov 12 01:32:40 vdevops rabbitmq-server[3891]: ###### ##/var/log/rabbitmq/rabbit@vdevops-sasl.log

Nov 12 01:32:40 vdevops rabbitmq-server[3891]: ##########

Nov 12 01:32:41 vdevops systemd[1]: Started RabbitMQ broker.

Nov 12 01:32:41 vdevops rabbitmq-server[3891]: Starting broker... completed with 0 plugins.

[root@vdevops~]# systemctl enable rabbitmq-server

Created symlink from /etc/systemd/system/multi-user.target.wants/rabbitmq-server.service to /usr/lib/systemd/system/rabbitmq-server.service.

防火墙设置

[root@linuxprobe~]# firewall-cmd --add-port=5672/tcp --permanent

success

[root@linuxprobe~]# firewall-cmd --reload

success

要使用RabbitMQ,请先添加用户

[root@vdevops ~]# rabbitmqctl add_user linuxprobe password

Creating user "linuxprobe" ...

...done.

[root@vdevops ~]# rabbitmqctl list_users

Listing users ...

guest [administrator]

linuxprobe []

...done.

# granting admin role to a user is like follows

[root@vdevops ~]# rabbitmqctl change_password linuxprobe strongpassword

Changing password for user "linuxprobe" ...

...done.

# granting admin role to a user is like follows

[root@vdevops ~]# rabbitmqctl set_user_tags linuxprobe administrator

Setting tags for user "linuxprobe" to [administrator] ...

...done.

# deleting a user is like follows

[root@vdevops ~]# rabbitmqctl delete_user linuxprobe

Deleting user "linuxprobe " ...

...done.

要使用RabbitMQ,也要添加虚拟主机

[root@vdevops ~]# rabbitmqctl add_vhost /my_vhost

Creating vhost "/my_vhost" ...

...done.

[root@vdevops ~]# rabbitmqctl list_vhosts

Listing vhosts ...

/

/my_vhost

...done.

[root@vdevops ~]# rabbitmqctl delete_vhost /my_vhost

Deleting vhost "/my_vhost" ...

...done.

给虚拟主机的用户授予权限,请如下配置

# rabbitmqctl set_permissions [-p vhost] [user] [permission ? (modify) (write) (read)]

[root@vdevops ~]# rabbitmqctl set_permissions -p /my_vhost linuxprobe ".*" ".*" ".*"

Setting permissions for user "linuxprobe" in vhost "/my_vhost" ...

...done.

#

[root@vdevops ~]# rabbitmqctl list_user_permissions linuxprobe

Listing permissions for user "linuxprobe" ...

/my_vhost .* .* .*

...done.

# deleting permission of a specific user is like follows

[root@vdevops ~]# rabbitmqctl clear_permissions -p /my_vhost linuxprobe

Clearing permissions for user "linuxprobe" in vhost "/my_vhost" ...

...done.

RabbitMQ:使用Web UI

[root@vdevops ~]# rabbitmq-plugins enable rabbitmq_management

The following plugins have been enabled:

mochiweb

webmachine

rabbitmq_web_dispatch

amqp_client

rabbitmq_management_agent

rabbitmq_management

Plugin configuration has changed. Restart RabbitMQ for changes to take effect.

[root@vdevops ~]# systemctl restart rabbitmq-server

客户端访问

http://vdevops:15672/

rabbitmqadmin使用

可以配置RabbitMQ使用rabbitmqadmin命

在Web UI上下载rabbitmqadmin。 登录到Web UI并移动到“http://(主机名或IP地址):15672 /

cli”,然后显示以下屏幕,您可以在这里下载rabbitmqadmin,点击here右键保存rabbitmqadmin.txt,然后上传到服务器上面更改为rabbitmqadmin,并添加执行权限

将rabbitmqadmin上传到RabbitMQ服务器并设置合适的权限,此示例显示如下设置

[root@localhost ~]# ll /usr/local/bin/rabbitmqadmin

-rwxr-xr-x. 1 root root 36112 Nov 11 17:23 /usr/local/bin/rabbitmqadmin

[root@vdevops bin]# rabbitmqadmin list users

+------------+------------------------------+---------------+

|name|password_hash | tags |

+------------+------------------------------+---------------+

| guest | k2rhpzCrZBKkY5WRhUWrGm5DCkg= | administrator |

| linuxprobe | P+YxK1QXIYrJpek5i//rPjn5SME= | administrator |

+------------+------------------------------+---------------+

[root@vdevops bin]# cd

[root@vdevops ~]# rabbitmqadmin list users

+------------+------------------------------+---------------+

|name|password_hash | tags |

+------------+------------------------------+---------------+

| guest | k2rhpzCrZBKkY5WRhUWrGm5DCkg= | administrator |

| linuxprobe | P+YxK1QXIYrJpek5i//rPjn5SME= | administrator |

+------------+------------------------------+---------------+

[root@vdevops ~]# rabbitmqadmin list vhosts

+-----------+---------+

| name| tracing |

+-----------+---------+

| / | False |

| /my_vhost | False |

+-----------+---------+

详细可以参考http://www.linuxprobe.com/centos-deploy-rabbitmq.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8509592.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存