linux安装rabbitmq
1、准备好otp_src_22.0.tar.gz、rabbitmq-server-generic-unix-3.7.16.tar.xz这两个文件
我这已经准备好了: otp_src_22.0.tar.gz: https://www.sky12580.cn/upload/2022/04/otp_src_22.0.tar.gz.baiduyun.p.downloading rabbitmq-server-generic-unix-3.7.16.tar.xz: https://www.sky12580.cn/upload/2022/04/rabbitmq-server-generic-unix-3.7.16.tar.xz
2、将文件上传到linux服务器 /mnt
3、进入到/mnt解压安装包
代码语言:javascript复制[root@localhost ~]# cd /mnt/ //进入到mnt目录下
[root@localhost mnt]# ls //查看mnt目录
otp_src_22.0.tar.gz rabbitmq-server-generic-unix-3.7.16.tar.xz
[root@localhost mnt]# tar -zxvf otp_src_22.0.tar.gz &>/dev/null //解压Erlang
[root@localhost mnt]# xz -d rabbitmq-server-generic-unix-3.7.16.tar.xz //解压RabbitMQ
[root@localhost mnt]# tar -xvf rabbitmq-server-generic-unix-3.7.16.tar &>/dev/null
[root@localhost mnt]# ls //再次查看mnt目录
otp_src_22.0 otp_src_22.0.tar.gz rabbitmq_server-3.7.16 rabbitmq-server-generic-unix-3.7.16.tar
4、在/usr/local/software 目录下创建一个rabbitmq_software文件夹,便于我们管理安装的RabbitMQ软件,并把我们解压好的文件移动到rabbitmq_software目录下
代码语言:javascript复制//创建一个rabbitmq_software文件夹
[root@localhost mnt]# mkdir -p /usr/local/software/rabbitmq_software
//把我们解压好的文件移动到rabbitmq_software目录下
[root@localhost mnt]# mv otp_src_22.0 /usr/local/software/rabbitmq_software/
[root@localhost mnt]# mv rabbitmq_server-3.7.16 /usr/local/software/rabbitmq_software/
[root@localhost mnt]# cd /usr/local/software/rabbitmq_software/
[root@localhost rabbitmq_software]# ls
otp_src_22.0 rabbitmq_server-3.7.16
5、安装Erlang
5.1、安装Erlang编译所依赖的环境
代码语言:javascript复制yum install make gcc gcc-c build-essential openssl openssl-devel unixODBC unixODBC-devel kernel-devel m4 ncurses-devel
5.2、在 /usr/local 目录下创建一个erlang文件夹,因为erlang编译安装默认是装在/usr/local下的bin和lib中,这里我们将他统一装到/usr/local/erlang中,方便查找和使用
代码语言:javascript复制[root@localhost rabbitmq_software]# mkdir -p /usr/local/erlang
5.3、编译Erlang
代码语言:javascript复制[root@localhost rabbitmq_software]# cd otp_src_22.0/ //进入到Erlang目录下
//编译Erlang,这里由于不需要用java编译器编译,所以后面添加了 --without-javac
[root@localhost otp_src_22.0]# ./configure --prefix=/usr/local/erlang --without-javac
5.4、安装Erlang
代码语言:javascript复制[root@localhost otp_src_22.0]# make && make install
5.5、配置Erlang环境变量
代码语言:javascript复制[root@localhost otp_src_22.0]# vim /etc/profile //编辑环境配置文件
//添加如下配置信息
export ERLANG_HOME=/usr/local/erlang
export PATH=${ERLANG_HOME}/bin:${PATH}
[root@localhost otp_src_22.0]# source /etc/profile //重新读取配置文件
5.6、创建软连
代码语言:javascript复制[root@localhost otp_src_22.0]# ln -s /usr/local/erlang/bin/erl /usr/local/bin/erl
5.7、测试Erlang是否安装成功
代码语言:javascript复制erl
6、安装RabbitMQ
6.1、配置RabbitMQ环境变量
代码语言:javascript复制[root@localhost otp_src_22.0]# vim /etc/profile //编辑环境配置文件
//添加如下配置信息
export RABBITMQ_HOME=/usr/local/software/rabbitmq_software/rabbitmq_server-3.7.16
export PATH=${RABBITMQ_HOME}/sbin:${PATH}
[root@localhost otp_src_22.0]# source /etc/profile //重新读取配置文件
6.2、开启Web管理界面插件,便于访问RabbitMQ
代码语言:javascript复制[root@localhost otp_src_22.0]# cd /usr/local/software/rabbitmq_software/rabbitmq_server-3.7.16/sbin
[root@localhost sbin]# ./rabbitmq-plugins enable rabbitmq_management //开启web管理界面插件
6.3、设置RabbitMQ开机启动
代码语言:javascript复制[root@localhost sbin]# vim /etc/rc.d/rc.local
添加如下代码到 /etc/rc.d/rc.local 中:
注意:1、手动启动 是因为你是用户登陆,用户登陆就会去加载/etc/profile文件中配置的Erlang 和 RabbitMQ环境,这个时候你就能启动RabbitMQ 2、开机启动 它会先读取启动文件配置,你必须在系统识别用户前加载/etc/profile文件中配置的Erlang 和 RabbitMQ环境,RabbitMQ才能在开机时启动
代码语言:javascript复制source /etc/profile
/usr/local/software/rabbitmq_software/rabbitmq_server-3.7.16/sbin/rabbitmq-server -detached
6.4、后台启动RabbitMQ服务
代码语言:javascript复制[root@localhost sbin]# ./rabbitmq-server -detached //后台启动RabbitMQ
//这个警告是正常的警告,并非是异常信息
Warning: PID file not written; -detached was passed.
在浏览器的地址栏中输入你 服务器的ip地址:15672,即可访问RabbitMQ的管理登录界面,例如我的Linux服务器的ip地址是192.168.30.1,那么我的RabbitMQ管理界面的访问地址是 192.168.30.1:15672
RabbitMQ的Username 和 Password 默认为guest/guest
6.4.1、你会发现Login failed (登录失败),User can only log in via localhost (用户只能通过本地主机登录),因为rabbitmq从3.3.0开始禁止使用guest/guest管理员权限通过除localhost外的访问
解决方案:如果想使用guest/guest通过远程机器访问,需要在/usr/local/software/rabbitmq_software/rabbitmq_server-3.7.16/ebin目录下找到rabbit.app文件,并把文件中的 {loopback_users, [<<“guest”>>]}, 删除其中的<<“guest”>>,修改后为{loopback_users, []}, 注意:{loopback_users, []}, 后面的逗号不能删除
代码语言:javascript复制[root@localhost sbin]# cd /usr/local/software/rabbitmq_software/rabbitmq_server-3.7.16/ebin/
[root@localhost ebin]# vim rabbit.app
可以看到{default_user, <<“guest”>>} 和 {default_pass, <<“guest”>>},即RabbitMQ默认的Username 和 Password
删除{loopback_users, [<<“guest”>>]}, 中的<<“guest”>>,注意保留后面的逗号,
删除后
6.4.2、重启RabbitMQ服务
代码语言:javascript复制[root@localhost ebin]# cd /usr/local/software/rabbitmq_software/rabbitmq_server-3.7.16/sbin/
//关闭RabbitMQ服务
[root@localhost sbin]# rabbitmqctl stop
Stopping and halting node rabbit@localhost ...
//启动RabbitMQ服务
[root@localhost sbin]# ./rabbitmq-server -detached
Warning: PID file not written; -detached was passed.