欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RabbitMQ Ubuntu18.0.4安装及简单使用

程序员文章站 2022-07-15 08:12:42
...
0x01、安装依赖erlang

由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang

sudo apt-get install erlang-nox
0x02、安装Rabbitmq

先更新apt源

sudo apt-get update

然后安装rabbitmq

sudo apt-get install rabbitmq-server

启动、停止、重启、状态rabbitMq命令,详情使用链接请点击这里

服务启动关闭
rabbitmq-server -detached  # 可以后台启动
rabbitmqctl stop  # 可以停止

下面是一些命令,但是有些测试了出现不能起作用
sudo rabbitmq-server start  # 这个启动不能再后台启动,so不推荐使用
sudo rabbitmq-server stop  # 好像不能使用这条命令,停止的正确命令在下面的命令,报错ERROR: node with name "rabbit" already running on "develop"
sudo rabbitmq-server restart  # 这条好像也是不能起作用,报错ERROR: node with name "rabbit" already running on "develop"
sudo rabbitmqctl status  # 可以查看运行的状态信息
0x03、添加admin,并赋予administrator权限

添加admin用户,密码设置为admin。

sudo rabbitmqctl add_user  admin  admin

赋予权限

sudo rabbitmqctl set_user_tags admin administrator

赋予virtual host中所有资源的配置、写、读权限以便管理其中的资源

sudo rabbitmqctl  set_permissions -p / admin '.*' '.*' '.*'
0x04、RabbitMQ GUID使用

1、官方提供的一个web管理工具(rabbitmq_management)点击我进行了解

2、安装了Rabbitmq后,默认也安装了该管理工具,执行命令即可启动

sudo  rabbitmq-plugins enable rabbitmq_management  #(先定位到rabbitmq安装目录)

3、浏览器访问http://你的rabbitmq ip:15672/

输入刚刚创建的账号密码即可访问(这里我设置的都是admin,你们的需要根据实际情况来调整)

RabbitMQ Ubuntu18.0.4安装及简单使用

0x05、总结常用命令
rabbitmq-server -detached  # 后台启动
sudo rabbitmq-server start  # 阻塞启动,一直处于阻塞状态,不能后台,想后台挂起的话,需要启动后按Ctrl+z才行 
rabbitmqctl stop  # 停止
rabbitmqctl status  # 查看服务器状态
rabbitmqctl list_queues  # 查看队列信息
rabbitmqctl add_user  admin  admin  # 添加用户及密码
rabbitmqctl set_user_tags admin administrator  # 给admin用户赋权限
rabbitmqctl  set_permissions -p / admin '.*' '.*' '.*'  # 赋予virtual host中所有资源的配置、写、读权限以便管理其中的资源
rabbitmq-plugins enable  # **管理工具

查看到存在的参数有:
{start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}


另外补充的:
service rabbitmq-server   start
service rabbitmq-server   stop
service rabbitmq-server   status
service rabbitmq-server   rotate-logs|
service rabbitmq-server   restart
service rabbitmq-server   condrestart
service rabbitmq-server   try-restart
service rabbitmq-server   reload
service rabbitmq-server   force-reload

ps -ef | grep rabbitmq  查看rabbitMq进程

kill -9 pid

netstat -anplt | grep LISTEN  rabbitmq默认监听端口15672/5672
0x06、限制rabbitmq只监听本地的localhost,防外网入侵的,简单做法(这样描述如有不到位请指出)
参考链接
原文(英文):https://*.com/questions/57225331/bind-rabbitmq-to-localhost-on-ubuntu-server-18-04/57225410#57225410

中文版:https://codeday.me/bug/20181105/356153.html

可以查看监听情况
lsof -n -a -i -urabbitmq

两个主要文件内容:
/etc/rabbitmq/rabbitmq-env.conf(存在)

export RABBITMQ_CONFIG_FILE="/etc/rabbitmq/rabbit"

# Defaults to rabbit. This can be useful if you want to run more than one node
# per machine - RABBITMQ_NODENAME should be unique per erlang-node-and-machine
# combination. See the clustering on a single machine guide for details:
# http://www.rabbitmq.com/clustering.html#single-machine
#NODENAME=rabbit

# By default RabbitMQ will bind to all interfaces, on IPv4 and IPv6 if
# available. Set this if you only want to bind to one network interface or#
# address family.
#NODE_IP_ADDRESS=127.0.0.1

# Defaults to 5672.
#NODE_PORT=5672

# 2019-10-30 添加下边的让rabbitmq和epmd只是监听本地的
export RABBITMQ_Naaa@qq.com
export RABBITMQ_NODE_IP_ADDRESS=127.0.0.1
export ERL_EPMD_ADDRESS=127.0.0.1

/etc/rabbitmq/rabbitmq.config(自建)

# [{kernel,[{inet_dist_use_interface,{127,0,0,1}}]}].
[
    {rabbitmq_management, [
        {listener, [{port, 15672}, {ip, "127.0.0.1"}]}
    ]},
    {kernel, [
        {inet_dist_use_interface,{127,0,0,1}}
    ]}
].