Linux(CentOS8)服务器安装RabbitMQ
我安装了很久都没有成功, 各种问题, 每次的异常都不一样, 现将成功安装过程做个总结
安装前工作
确保已经安装了一些基础工具和组件库
下载安装包
https://www.erlang.org/patches/otp-24.3.4.5
https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.15/rabbitmq-server-3.9.15-1.el8.noarch.rpm
安装erlang
执行安装命令
rpm -ivh erlang-24.3.4.5-1.el8.x86_64.rpm
如果提示已安装啥的,现卸载
yum remove erlang
如果安装时还有类似于已安装的提示, 就加上以下参数
rpm -ivh erlang-24.3.4.5-1.el8.x86_64.rpm --force --nodeps
查看是否安装成功
输入命令:
erl
安装插件 socat(系统需要安装socat依赖插件)
yum install -y socat
安装rabbitmq
执行安装命令:
rpm -Uvh rabbitmq-server-3.9.15-1.el8.noarch.rpm
启用rabbitmq服务
开始启动的时候, 可以在控制直接输入:
rabbitmq-server
查看上图中的日志, 看看是否正常, 有没有一直在刷日志,看看控制台,登陆成功就ok了, 如果一直在刷日志, 说明启动失败, 需要修改参数, 请看后面遇到的问题章节
如果上面启动服务调试一切正常后, 可用下面的命令启动服务
systemctl start rabbitmq-server
查看状态
systemctl status rabbitmq-server
我启动时报了一个错误, erl not found, 那么就去安装目录启动, 执行下面的命令, 查找安装的目录:
find / -name rabbitmq-server
我的在以下目录
进入bin目录, 执行
./rabbitmq-server
至此, 安装完毕, 打开网页, 输入http://xxx:15672
如果提示这个: User can only log in via localhost, 则需要创建用户
创建好用户后, 再次登录, 就正常了
以下是管理用户的命令
#新增用户
rabbitmqctl add_user rabbit rabbitpwd
#设置标签
rabbitmqctl set_user_tags user administrator
#赋权
rabbitmqctl set_permissions -p / user ".*" ".*" ".*"
#查看用户
rabbitmqctl list_users
遇到的问题
第一次启动时查看日志, 提示错误信息为:
Ranch acceptor reducing accept rate: out of file descriptors
这个是服务器的最大打开文件数量显示,可以用以下命令查看一下:
#看一下默认大小
ulimit -n
#设置大小
ulimit -n 524288
再次启动, 如果不提示错误了, 下面就不用设置了
vim /etc/security/limits.conf
在最后增加:
* soft nofile 65535
* hard nofile 65535
然后执行:
sysctl -p
再次启动提示控制台提示错误: Cookie file /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only, 这个是因为.erlang.cookeie这个文件的问题, 我就直接把/root/下的这个文件拷贝到/var/lib/rabbitmq下面了
再次启动提示: Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
执行以下命令
sudo chmod 600 /var/lib/rabbitmq/.erlang.cookie
sudo chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
注意: .erlang.cookie这个文件一定要处理好, 否则会一直出错, 一定要仔细看错误信息
启动时日志一直在刷连接5672, 然后关闭连接, 这种情况, 我是直接重启一下服务器就好了
再次启动, 正常了