再次入坑(使用上述办法安装erlang,在手动添加rabbitmq配置文件后),报错信息:
Could not start application logger: Logger.App.start(:normal, []) returned an error: shutdown: failed to start child: Logger.ErrorHandler ** (EXIT) no process: the process is not alive or there's no process currently associated with the given name, possibly because its application isn't started
按官方提供的方法安装好erlang后,当手动添加rabbitmq配置文件后再次启动出现上面的报错信息,经过分析发现(太坑了):
自定义rabbitmq的配置文件路径:
$ vim /usr/lib/systemd/system/rabbitmq-server.service [Unit] Description=RabbitMQ broker After=syslog.target network.target [Service] Type=notify User=rabbitmq Group=rabbitmq UMask=0027 NotifyAccess=all TimeoutStartSec=3600 # RABBITMQ_CONFIG_FILE=/etc/rabbitmq/rabbitmq.conf # 指定配置文件 # Un-comment this setting if you need to increase RabbitMQ's # open files limit # LimitNOFILE=16384 # # Note: systemd on CentOS 7 complains about in-line comments, # so only append them here # # Restart: # The following setting will automatically restart RabbitMQ # in the event of a failure. systemd service restarts are not a # replacement for service monitoring. Please see # http://www.rabbitmq.com/monitoring.html Restart=on-failure RestartSec=10 WorkingDirectory=/var/lib/rabbitmq ExecStart=/usr/sbin/rabbitmq-server ExecStop=/usr/sbin/rabbitmqctl shutdown # See rabbitmq/rabbitmq-server-release#51 SuccessExitStatus=69 [Install] WantedBy=multi-user.target
开启管理插件:
$ rabbitmq-plugins enable rabbitmq_management <输出内容> The following plugins have been configured: rabbitmq_management rabbitmq_management_agent rabbitmq_web_dispatch Applying plugin configuration to rabbit@host3... The following plugins have been enabled: rabbitmq_management rabbitmq_management_agent rabbitmq_web_dispatch started 3 plugins. <开启成功>
管理页面能做的操作:
list and delete exchanges, queues, bindings, users, virtual hosts and permissions. Monitor queue length, message rates globally and per channel, data rates per connection, etc. Monitor resource usage, such as file descriptors, memory use, available disk space. Manage users (provided administrative permissions of the current user). Export and import object definitions (vhosts, users, permissions, queues, exchanges, bindings, parameters, policies) to JSON. Force close connections, purge queues. Send and receive messages (useful in development environments and for troubleshooting).
修改用户密码:
# rabbitmqctl change_password <username> <newpassword> $ rabbitmqctl change_password adai 111111 Changing password for user "adai" ...
为用户授权:
# 格式: rabbitmqctl set_permissions [-pvhostpath] {user} {conf} {write} {read} ## vhost The name of the virtual host to which to grant the user access, defaulting to "/". ## user The name of the user to grant access to the specified virtual host. ## conf A regular expression matching resource names for which the user is granted configure permissions. ## write A regular expression matching resource names for which the user is granted write permissions. ## read A regular expression matching resource names for which the user is granted read permissions. # 示例:授权给用户adai默认vhost("/")的所有配置的读、写权限 $ rabbitmqctl set_permissions -p "/" adai ".*" ".*" ".*" Setting permissions for user "adai" in vhost "/" ...
清理用户权限:
# rabbitmqctl clear_permissions [-p vhost] username $ rabbitmqctl clear_permissions -p / adai Clearing permissions for user "adai" in vhost "/" ... $ rabbitmqctl list_permissions -p / Listing permissions for vhost "/" ... guest .* .* .*
查看某用户的权限:
$ rabbitmqctl list_user_permissions adai Listing permissions for user "adai" ... $ rabbitmqctl set_permissions -p "/" adai ".*" ".*" ".*" Setting permissions for user "adai" in vhost "/" ... $ rabbitmqctl list_user_permissions adai Listing permissions for user "adai" ... / .* .* .*
设置用户角色(上面有讲,共五种角色类型):
$ rabbitmqctl set_user_tags adai administartor # 将adai设置为管理员 Setting tags for user "adai" to [administartor] ... $ rabbitmqctl list_users Listing users ... adai [administartor] guest [administrator]
删除用户:
# rabbitmqctl delete_user <username> $ rabbitmqctl add_user test monitoring Adding user "test" ... $ rabbitmqctl list_users Listing users ... adai [administartor] guest [administrator] test [] $ rabbitmqctl delete_user test Deleting user "test" ... $ rabbitmqctl list_users Listing users ... adai [administartor] guest [administrator]
方法2——rabbitmqadmin:
该工具来自第三方,获取方法:
如果你安装了UI_management插件,可以直接通过下面方法获取
wget http://server_ip:15672/cli/rabbitmqadmin # 注意: ## The tool supports: ## Python 3.x ## Python 2.6 or later for HTTP connections ## Python 2.7.9 or later for HTTPS connections