虚拟机CentOS 7安装RabbitMQ

虚拟机CentOS 7安装RabbitMQ

1、安装erlang环境

RabbitMQ是基于erlang语言开发,因此要先安装erlang。

  1. 安装erlang环境依赖
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel
  1. 在线下载erlang安装包,可进入官网地址选择安装版本后再进行下载;
wget http://erlang.org/download/otp_src_22.0.tar.gz
  1. 下载后,在当前目录下就会有安装包。解压并移至/usr/local目录下
ta -zxvf otp_src_22.0.tar.gz -C /usr/local
  1. 创建安装目录;
mkdir /usr/local/erlang
  1. 进入解压目录,配置安装路径(如果出现WARNING,可以忽视);
cd /usr/local/otp_src_22.0/
./configure --prefix=/usr/local/erlang
  1. 安装;
make install
  1. 添加环境变量,并刷新环境配置;
echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile

source /etc/profile
  1. erlang环境安装成功测试
erl
# 进入以下界面即安装成功
Erlang/OTP 22 [erts-10.4] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe]

Eshell V10.4  (abort with ^G)
1> 

# 输入 halt(). 退出此界面

2、安装RabbitMQ

在下载安装包之前,需要了解erlang版本与rabbitMQ版本的兼容性https://www.rabbitmq.com/which-erlang.html,再进行下载安装包

在线下载RabbitMQ安装包,由于RabbitMQ放在GitHub上,大家可在https://github.com/rabbitmq/rabbitmq-server/releases找到相应的发行版本,使用下述类似命令在线安装:

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.25/rabbitmq-server-generic-unix-3.7.25.tar.xz

由于我的网络原因,没办法下载不了,只能选择离线安装方式,还要各种搜索找源码包,真的烦,在这提供下载链接,找到对应的版本下载,下载好了通过Xftp文件传输到CentOS7系统中。我这里下载的是3.7.13版本。

现在开始安装

  1. xz命令解压。没有该命令的通过yum -y insatll xz进行安装;再使用tar命令第二次解压,并移动到/usr/local目录下;
/bin/xz -d rabbitmq-server-generic-unix-3.7.13.tar.xz

tar -xvf rabbitmq-server-generic-unix-3.7.13.tar -C /usr/local/
  1. 将解压后的目录重命名为rabbitmq;
mv ./rabbitmq_server-3.7.13 rabbitmq
  1. 配置、刷新环境变量;
echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile

source /etc/profile
  1. 安装WEB管理插件
rabbitmq-plugins enable rabbitmq_management
  1. 以守护进程在后台运行的方式启动RabbitMQ;
rabbitmq-server -detached

如果出现下述警告,可以忽视。官方解释使用此方式运行rabbitMQ会导致此警告

Warning: PID file not written; -detached was passed.

其他命令

rabbitmqctl stop	# 停止RabbitMQ

rabbitmqctl status	# 查看RabbitMQ状态

3、防火墙设置

如果启用了防火墙,请开放端口,RabbitMQ默认端口为5672和15672

# 查看端口开放状态
firewall-cmd --zone=public --list-ports

# 开放端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --zone=public --add-port=15672/tcp --permanent

# 重启防火墙服务
firewall-cmd --reload

4、用户管理

RabbitMQ提供了默认账户密码guest,用于访问网页管理。但使用宿主机是不能使用该账户访问虚拟机的RabbitMQ管理网页的。

配置新的用户

  1. 查看所有用户;
rabbitmqctl list_users
# Listing users ...
# user	 tags
# guest	 [administrator]
  1. 添加用户密码;
rabbitmqctl add_user chan 123456
  1. 配置用户权限;
rabbitmqctl set_permissions -p "/" chan ".*" ".*" ".*"
  1. 查看用户权限;
rabbitmqctl list_user_permissions chan

# Listing permissions for user "chan" ...
# vhost	configure	write	read
# /	      .*	      .*	 .*
  1. 设置用户身份;
rabbitmqctl set_user_tags chan administrator
  1. 删除用户;
rabbitmqctl delete_user guest

配置好后,就可以在宿主机使用新用户进行远程访问了。访问网址为http://虚拟机IP:15672。如果是程序内调用,使用http://虚拟机IP:5672

5、开机自启动

  1. 创建启动脚本
vim /etc/init.d/rabbitmq
  1. 脚本内容
#!/bin/bash
#
# chkconfig: 2345 80 05
# description: rabbitmq 
# processname: rabbitmq
 
#RabbitMQ安装目录
RABBITMQ_HOME=/usr/local/rabbitmq
export RABBITMQ_HOME
 
case "$1" in
    start)
    echo "Starting RabbitMQ ..."
	cd $RABBITMQ_HOME/sbin
	rabbitmq-server -detached
    ;;
stop)
    echo "Stopping RabbitMQ ..."
	cd $RABBITMQ_HOME/sbin
    rabbitmqctl stop
    ;;
status)
    echo "Status RabbitMQ ..."
	cd $RABBITMQ_HOME/sbin
    rabbitmqctl status
    ;;
restart)
    echo "Restarting RabbitMQ ..."
	cd $RABBITMQ_HOME/sbin
    rabbitmq-server
    ;;
 
*)
    echo "Usage: $prog {start|stop|status|restart}"
    ;;
esac
  1. 修改脚本权限并设置自启动
chkconfig --add /etc/init.d/rabbitmq

chkconfig rabbitmq on

至此,RabbitMQ安装完成。

参考文献

https://www.cnblogs.com/fengyumeng/p/11133924.html

原创文章 10 获赞 5 访问量 1699

猜你喜欢

转载自blog.csdn.net/qq_33736653/article/details/105716467
今日推荐