Linux部署RabbitMQ


环境:Ubuntu 20.04

部署Erlang

下载

RabbitMQ必须要有Erlang(二郎)环境,所以先部署Erlang:

不想通过apt安装,自动创建链接什么的如果想删除,可能会漏掉,比较纠结,所以下载源码编译

官网下载地址

我这里官网下载慢点出奇,所以推荐去Github上下载源码GayHub地址,我这里GitHub速度还挺快

# 下载源码
wget https://github.com/erlang/otp/archive/OTP-23.2.7.tar.gz
# 解压
tar -zxvf otp_src_23.2.7.tar.gz
# 进入源码包
cd otp_src_23.2.7

编译

# 根据官方文档,编译erlang源码需要`ncurses-devel`,ubuntu20.04中,没有这个库,改名为ncurses-dev
sudo apt install ncurses-dev
# 编译前指定安装路径,这是我要用源码编译主要原因,官方没有提供通用二进制版本,自己编译万一在学习过程中被搞乱了,删掉就好了,一了百了
# 指定你想要安装的路径,我习惯把所有环境相关的文件都部署到我的用户下
./configure --prefix=/home/xxx/xxx
# 编译 & 安装;这个过程很慢
make && make install
# 将erlang加入到环境变量,rabbitmq会在执行脚本里直接调用erl,erlang的命令,所以要提前将bin目录加入到环境变量
# 个人习惯,将所有环境变量写到一个文件里,然后把source ~/.dev_env_params.config 命令加入到~/.zshrc中(我用zsh),所以每次打开终端的时候,都会加载全部环境变量。同理一些系统级别的环境可以统一写入一个文件中,通过source 加入 /etc/profile中,比如JDK
vi ~/.dev_env_params.config 

export LOCAL_PATH
## ******  Erlang环境变量 ****** ##
ERLANG_HOME=/home/user/Developement/Erlang/erlang_23.2.7
LOCAL_PATH=$ERLANG_HOME/bin:$LOCAL_PATH
## ***************************** ##
# 如果有其他环境变量也先定义 HOME路径,然后加入到LOCAL_PATH中 LOCAL_PATH=$XXX_HOME/bin:$LOCAL_PATH
# 将LOCAL_PATH加入到PATH中
export PATH=$LOCAL_PATH$PATH
# 加载环境变量
source ~/.dev_env_params.config

部署RabbitMQ

准备好erlang环境后,下载RabbitMQ,基于和上面相同的理由,这里使用通用二进制版本,而不用ubuntu专用版本安装

官方地址

下载

# 下载
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.14/rabbitmq-server-generic-unix-3.8.14.tar.xz
# 解压
xz -d rabbitmq-server-generic-unix-3.8.14.tar.xz
tar -zxvf rabbitmq-server-generic-unix-3.8.14.tar

配置文件

$RABBITMQ_HOME/etc/rabbitmq 是官方指定的配置文件存放的地方

rabbitmq.conf文件是rabbitmq运行期间一些详细内容的重要配置,例如监听端口、接受TCP侦听器连接的Erlang进程数等,具体可以参与官方文档

rabbitmq-env.conf是环境变量配置文件,一些环境变量可以通过export声明,

例如RABBITMQ_CONFIG_FILE =/etc/rabbitmq/rabbitmq.conf,指定配置文件的路径;

也可以通过环境变量配置文件配置,省去前缀,也避免环境变量混乱

rabbitmq.conf配置文件说明

rabbitmq-env.conf环境变量配置说明

# 将RabbitMQ路径加入到环境变量
# 可以直接 export RABBITMQ_HOME=/xxx 加入到环境变量
## ******  RabbitMQ环境变量 ****** ##
RABBITMQ_HOME=/home/user/Developement/RabbitMQ/rabbitmq_server-3.8.14
LOCAL_PATH=$RABBITMQ_HOME/sbin:$LOCAL_PATH
## ******************************* ##
# 加载环境变量
source ~/.dev_env_params.config
# 写环境配置文件
vi $RABBITMQ_HOME/etc/rabbitmq/rabbitmq-env.conf
# 指定配置文件
CONFIG_FILE=/home/user/Developement/RabbitMQ/rabbitmq_server-3.8.14/etc/rabbitmq/rabbitmq.conf
# 退出vim,新建配置文件
vi $RABBITMQ_HOME/etc/rabbitmq/rabbitmq.conf
# 写入允许远程主机登陆guest,不添加这个,物理机访问Linux环境的服务,相当于远程访问,登陆guest会失败
loopback_users=none

启动rabbitmq

# 后台启动 rabbitmq : 
rabbitmq-server -detached
# 启动管理功能
rabbitmq-plugins enable rabbitmq_management

访问RabbitMQ管理页面

http://{your-server-ip}:15672