RabbitMQ 开机启动配置教程
RabbitMQ 开机启动配置教程
在本教程中,我们将详细介绍如何配置 RabbitMQ 以实现开机自动启动。此配置适用于手动安装的 RabbitMQ 版本。
环境准备
- 操作系统:CentOS 7
- RabbitMQ 版本:3.8.4
- Erlang 版本:21.3
步骤
1. 安装 Erlang
-
安装依赖:
sudo yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget socat
-
下载 Erlang:
wget http://erlang.org/download/otp_src_21.3.tar.gz
-
解压并编译安装:
tar -xvf otp_src_21.3.tar.gz cd otp_src_21.3 ./configure --prefix=/usr/local/erlang make && make install
-
配置环境变量:
编辑/etc/profile
文件,添加以下内容:export PATH=$PATH:/usr/local/erlang/bin
使配置生效:
source /etc/profile
-
验证安装:
erl -version
2. 安装 RabbitMQ
-
下载 RabbitMQ:
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.4/rabbitmq-server-generic-unix-3.8.4.tar.xz
-
解压:
xz -d rabbitmq-server-generic-unix-3.8.4.tar.xz tar -xvf rabbitmq-server-generic-unix-3.8.4.tar
-
配置环境变量:
编辑/etc/profile
文件,添加以下内容:export PATH=$PATH:/usr/local/rabbitmq_server-3.8.4/sbin
使配置生效:
source /etc/profile
3. 配置 RabbitMQ 环境文件
-
编辑
rabbitmq-env
文件:sudo vi /usr/local/rabbitmq/rabbitmq_server-3.8.4/sbin/rabbitmq-env
-
添加 Erlang 路径:
在文件中添加 Erlang 的路径:export PATH=$PATH:/usr/local/erlang/bin
4. 创建 RabbitMQ 服务文件
-
创建服务文件:
sudo vi /etc/systemd/system/rabbitmq.service
-
添加以下内容:
[Unit] Description=RabbitMQ Server Documentation=https://www.rabbitmq.com/docs.html After=network.target[Service] Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/erlang/bin" User=rabbitmq Group=rabbitmq Type=notify ExecStart=/usr/local/rabbitmq/rabbitmq_server-3.8.4/sbin/rabbitmq-server ExecStop=/usr/local/rabbitmq/rabbitmq_server-3.8.4/sbin/rabbitmqctl stop Restart=on-failure LimitNOFILE=65536[Install] WantedBy=multi-user.target
5. 配置开机启动
-
加载服务文件:
sudo systemctl daemon-reload
-
启用开机启动:
sudo systemctl enable rabbitmq.service
-
立即启动服务:
sudo systemctl start rabbitmq.service
-
查看服务状态:
sudo systemctl status rabbitmq.service
6. 验证配置
-
验证 RabbitMQ 状态:
sudo /usr/local/rabbitmq/rabbitmq_server-3.8.4/sbin/rabbitmqctl status
-
验证管理插件:
sudo /usr/local/rabbitmq/rabbitmq_server-3.8.4/sbin/rabbitmq-plugins enable rabbitmq_management
-
访问管理界面:
通过浏览器访问http://<服务器IP>:15672
,使用管理员账户登录。
7. 查看服务日志
如果服务启动失败,可以使用以下命令查看详细日志:
journalctl -u rabbitmq.service -l
此命令将显示 RabbitMQ 服务的详细日志,帮助你排查问题。
8. 检查端口冲突和防火墙设置
-
检查端口占用:
确保 RabbitMQ 使用的端口(默认是5672
和15672
)未被其他服务占用:sudo netstat -tuln | grep 5672 sudo netstat -tuln | grep 15672
-
查看占用端口的进程:
如果发现端口被占用,可以使用以下命令找出占用端口的进程:sudo lsof -i :5672 sudo lsof -i :15672
-
停止占用端口的进程:
如果确认该进程不是必需的,可以停止它:sudo kill -9 <PID>
替换
<PID>
为实际的进程 ID。 -
配置防火墙:
确保防火墙允许访问 RabbitMQ 的端口:sudo firewall-cmd --zone=public --add-port=5672/tcp --permanent sudo firewall-cmd --zone=public --add-port=15672/tcp --permanent sudo firewall-cmd --reload
注意事项
- 用户和组:确保创建了
rabbitmq
用户和组,并且服务文件中指定的用户和组存在。 - 权限:确保 RabbitMQ 的安装目录和文件有正确的权限。
- 防火墙设置:确保防火墙允许访问 RabbitMQ 的端口(默认是
5672
和15672
)。
通过以上步骤,您可以成功配置 RabbitMQ 开机自动启动,并能够有效地管理和排查服务问题。