GO连接RabbitMQ详细教程
1. docker安装
docker run -d \
--name rabbitmq \
-p 5672:5672 -p 15672:15672 \
-v ~/rabbitmq:/var/lib/rabbitmq \
--hostname my-rabbitmq-host \
-e RABBITMQ_DEFAULT_VHOST=my_host \
-e RABBITMQ_DEFAULT_USER=root \
-e RABBITMQ_DEFAULT_PASS=123456 \
--restart=always \
rabbitmq:management
用户名:root 密码:123456
应用端通信端口:5672
web端访问地址:http://IP:15672/
2. 添加vhost
用docker安装rabbitmq时,设置的VHOST=my_host
没用,需要进入docker容器中进行设置
#进入容器内部
docker exec -it rabbitmq /bin/bash
# 添加virtual host
rabbitmqctl add_vhost my_host
#因为在创建docker容器时已经创建了默认用户,所以直接用那个用户
#将vhost与用户连接,并赋予访问权限
rabbitmqctl set_permissions -p my_host root '.*' '.*' '.*'
3. Go语言连接rabbitMQ
func failOnError(err error, msg string) {
if err != nil {
log.Fatalf("%s, %s", msg, err)
}
}
func main() {
// my_host是在rabbitmq中配置的vhost,这个需要与上面配置的用户一致
dns := "amqp://root:123456@192.168.254.128:5672/my_host"
conn, err := amqp.Dial(dns)
failOnError(err, "Failed to connect to RabbitMQ")
defer conn.Close()
fmt.Println("connected rabbitmq success")
}
4. RabbitMQ基础命令
#查看用户列表
rabbitmqctl list_users
#查看用户权限
rabbitmqctl list_user_permissions 用户名
# 删除用户
rabbitmqctl delete_user 用户名
# 添加virtual host
rabbitmqctl add_vhost vhost名
# 删除virtual host
rabbitmqctl delete_vhost vhost名
# 清除权限
rabbitmqctl clear_permissions -p vhost名 用户名