0x01、安装依赖erlang 由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang
1 sudo apt-get install erlang-nox
0x02、安装Rabbitmq 先更新apt源
然后安装rabbitmq
1 sudo apt-get install rabbitmq-server
启动、停止、重启、状态rabbitMq命令,详情使用链接请点击这里
1 2 3 4 5 6 7 8 9 服务启动关闭 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。
1 sudo rabbitmqctl add_user admin admin
赋予权限
1 sudo rabbitmqctl set_user_tags admin administrator
赋予virtual host中所有资源的配置、写、读权限以便管理其中的资源
1 sudo rabbitmqctl set_permissions -p / admin '.*' '.*' '.*'
0x04、RabbitMQ GUID使用 1、官方提供的一个web管理工具(rabbitmq_management)点击我进行了解 )
2、安装了Rabbitmq后,默认也安装了该管理工具,执行命令即可启动
1 sudo rabbitmq-plugins enable rabbitmq_management #(先定位到rabbitmq安装目录)
3、浏览器访问http://你的rabbitmq ip:15672/
输入刚刚创建的账号密码即可访问(这里我设置的都是admin,你们的需要根据实际情况来调整)
0x05、总结常用命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 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,防外网入侵的,简单做法(这样描述如有不到位请指出) 1 2 3 4 5 6 7 参考链接 原文(英文):https://stackoverflow.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(存在)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 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_NODENAME=rabbit@localhost export RABBITMQ_NODE_IP_ADDRESS=127.0.0.1 export ERL_EPMD_ADDRESS=127.0.0.1
/etc/rabbitmq/rabbitmq.config(自建)
1 2 3 4 5 6 7 8 9 # [{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}} ]} ].
Gitalk 加载中 ...