RabbitMQ安装配置 - yiyixiaozhi/readingNotes GitHub Wiki
[TOC]
由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang
sudo apt-get install erlang-nox
2、安装Rabbitmq 更新源
sudo apt-get update
安装
sudo apt-get install rabbitmq-server
启动、停止、重启、状态rabbitMq命令
sudo rabbitmq-server start
sudo rabbitmq-server stop
sudo rabbitmq-server restart
sudo rabbitmqctl status
添加用户, 添加yyxz,并赋予administrator权限
root@school-on-air:~# rabbitmqctl add_user yyxz yyxz@passwd
root@school-on-air:~# rabbitmqctl set_user_tags yyxz administrator
Setting tags for user "yyxz" to [administrator]
赋予virtual host中所有资源的配置、写、读权限以便管理其中的资源
root@school-on-air:~# rabbitmqctl set_permissions -p / yyxz '.*' '.*' '.*'
Setting permissions for user "yyxz" in vhost "/"
rabbitmq既可以命令行操作,也可以用rabbitmq自带的web管理界面,只需要启动插件便可以使用。
sudo rabbitmqctl start_app
sudo rabbitmq-plugins enable rabbitmq_management
在/etc/rabbitmq/rabbitmq.config文件中,加入如下内容(待验证)
[
{rabbitmq_management,
[{cors_allow_origins, ["*"]}]},
].
root@school-on-air:~# rabbitmq-plugins enable rabbitmq_web_stomp rabbitmq_stomp rabbitmq_web_stomp_examples
The following plugins have been enabled:
rabbitmq_web_stomp_examples
sockjs
rabbitmq_web_stomp
rabbitmq_stomp
Applying plugin configuration to rabbit@school-on-air... started 4 plugins.
下载入口:https://bintray.com/rabbitmq/rpm
- 安装erlang
官方下载地址:https://bintray.com/rabbitmq-erlang/rpm/erlang
查看RabbitMQ和Erlang的版本兼容性:
https://www.rabbitmq.com/which-erlang.html
下载完成后依旧照着文档走先执行下:
https://www.rabbitmq.com/install-rpm.html
[root@bogon ~]# rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
[root@bogon ~]# yum install erlang-21.3.6-1.el7.x86_64.rpm
[root@bogon ~]# yum install rabbitmq-server-3.7.13-1.el7.noarch.rpm
[root@bogon ~]# systemctl start rabbitmq-server.service
[root@bogon ~]# systemctl status rabbitmq-server.service
[root@bogon ~]# rabbitmq-plugins enable rabbitmq_management rabbitmq_web_stomp rabbitmq_stomp rabbitmq_web_stomp_examples
[root@bogon ~]# rabbitmqctl add_user yyxz yyxz@passwd
Adding user "yyxz" ...
[root@bogon ~]# rabbitmqctl set_user_tags yyxz administrator
Setting tags for user "yyxz" to [administrator] ...
[root@bogon ~]# systemctl restart rabbitmq-server.service
配置(未验证):
cat rabbitmq-env.conf
mkdir /usr/local/rabbitmq-server
mkdir /usr/local/rabbitmq-server/data
mkdir /usr/local/rabbitmq-server/log
chmod -R 777 /usr/local/rabbitmq-server/
开机启动
设置开机启动:systemctl enable rabbitmq-server.service
[root@bogon ~]# systemctl enable rabbitmq-server.service
Created symlink from /etc/systemd/system/multi-user.target.wants/rabbitmq-server.service to /usr/lib/systemd/system/rabbitmq-server.service.
停止开机启动:systemctl disable rabbitmq-server.service
更多RabbitMQ的配置资料可以阅读:
查看一些服务是否开机启动:
[root@bogon ~]# systemctl list-unit-files | grep rabbit
rabbitmq-server.service enabled
[root@bogon ~]# systemctl list-unit-files | grep mysql
mysqld.service enabled
[email protected] disabled
常用端口:
API端口:5672
访问管理页面:15672
无法启动问题的解决:
[root@hebeixuanyuan01 download]# journalctl -xe
Dec 05 21:28:34 hebeixuanyuan01 rabbitmqctl[29356]: * Erlang cookie hash: nfl82oV/+HVSmQcYV74GDg==
Dec 05 21:28:34 hebeixuanyuan01 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.
Dec 05 21:28:34 hebeixuanyuan01 systemd[1]: Unit rabbitmq-server.service entered failed state.
Dec 05 21:28:34 hebeixuanyuan01 systemd[1]: rabbitmq-server.service failed.
Dec 05 21:28:34 hebeixuanyuan01 polkitd[726]: Unregistered Authentication Agent for unix-process:29155:2205491167 (system bus name :1.96097, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)
Dec 05 21:28:44 hebeixuanyuan01 systemd[1]: rabbitmq-server.service holdoff time over, scheduling restart.
Dec 05 21:28:44 hebeixuanyuan01 systemd[1]: Stopped RabbitMQ broker.
-- Subject: Unit rabbitmq-server.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit rabbitmq-server.service has finished shutting down.
Dec 05 21:28:44 hebeixuanyuan01 systemd[1]: Starting RabbitMQ broker...
-- Subject: Unit rabbitmq-server.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit rabbitmq-server.service has begun starting up.
[root@hebeixuanyuan01 download]# chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
[root@hebeixuanyuan01 download]# chmod 600 /var/lib/rabbitmq/.erlang.cookie
然后再次启动,会报错:
* unable to connect to epmd (port 4369) on manager: address (cannot connect to host/port)
也有可能是主机hostname配置错误,修改hosts文件中hostname设置
- 新建环境变量存放文件
vi /etc/rabbitmq/rabbitmq-env.conf
内容如下:
RABBITMQ_MNESIA_BASE=/home/ftpsite/yyxz/sda1.5TB/rabbitmq/mnesia
RABBITMQ_LOG_BASE=/home/ftpsite/yyxz/sda1.5TB/rabbitmq/log
rabbitmq-env.conf rabbitmq的环境参数配置 RABBITMQ_NODE_PORT 端口设置,默认为5672 RABBITMQ_NODENAME 节点名称,默认为rabbit MNESIA_BASE 后端存储目录,默认为/var/lib/rabbitmq/mnesia LOG_BASE 日志目录,默认为/var/log/rabbitmq/
- 新建目标存放文件夹,并拷贝当前文件到目标文件夹
mkdir /home/ftpsite/yyxz/sda1.5TB/rabbitmq/mnesia
mkdir /home/ftpsite/yyxz/sda1.5TB/rabbitmq/log
cp -r mnesia/ /home/ftpsite/yyxz/sda1.5TB/rabbitmq/
cp .erlang.cookie /home/ftpsite/yyxz/sda1.5TB/rabbitmq/
chown -R rabbitmq:rabbitmq /home/ftpsite/yyxz/sda1.5TB/rabbitmq/mnesia/
chown -R rabbitmq:rabbitmq /home/ftpsite/yyxz/sda1.5TB/rabbitmq/log/
chown -R rabbitmq:rabbitmq /home/ftpsite/yyxz/sda1.5TB/rabbitmq/.erlang.cookie
- 重启rabbitmq
systemctl restart rabbitmq-server.service
参考:https://www.rabbitmq.com/install-windows.html
安装版本:
otp_win64_21.2.exe
rabbitmq-server-3.7.12.exe
window启动管理插件:
D:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.12>cd sbin
## 启动插件
D:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.12\sbin>rabbitmq-plugins.bat enable rabbitmq_management
Enabling plugins on node rabbit@bianxh:
rabbitmq_management
The following plugins have been configured:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
Applying plugin configuration to rabbit@bianxh...
The following plugins have been enabled:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
started 3 plugins.
## 添加用户并设置为管理员
D:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.12\sbin>rabbitmqctl.bat add_user yyxz yyxz@passwd
Adding user "yyxz" ...
D:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.12\sbin>rabbitmqctl.bat set_user_tags yyxz administrator
Setting tags for user "yyxz" to [administrator] ...
D:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.12\sbin>rabbitmqctl.bat list_users
Listing users ...
user tags
yyxz [administrator]
guest [administrator]
## 添加vhost
D:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.12\sbin>rabbitmqctl.bat add_vhost dormitory
Adding vhost "dormitory" ...
D:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.12\sbin>rabbitmq-plugins.bat enable rabbitmq_management rabbitmq_web_stomp rabbitmq_stomp rabbitmq_web_stomp_examples
Enabling plugins on node rabbit@bianxh:
rabbitmq_management
rabbitmq_web_stomp
rabbitmq_stomp
rabbitmq_web_stomp_examples
The following plugins have been configured:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_stomp
rabbitmq_web_dispatch
rabbitmq_web_stomp
rabbitmq_web_stomp_examples
Applying plugin configuration to rabbit@bianxh...
The following plugins have been enabled:
rabbitmq_stomp
rabbitmq_web_stomp
rabbitmq_web_stomp_examples
started 3 plugins.