RabbitMQ安装部署
-
安装包准备
# 下载rabbitmq # https://www.rabbitmq.com/download.html wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.12.0/rabbitmq-server-3.12.0-1.el8.noarch.rpm # 下载mq依赖erlang # https://www.erlang.org/downloads wget https://github.com/erlang/otp/releases/download/OTP-26.0.1/otp_src_26.0.1.tar.gz # rabbitmq与erlang依赖关系查询 https://www.rabbitmq.com/which-erlang.html
-
安装erlang依赖环境
# yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget socat
-
安装erlang
# 下载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目录 cd otp_src_21.3 # configure到/usr/local/erlang ./configure --prefix=/usr/local/erlang # 编译 make && make install
-
配置环境变量并使其生效
# 进入配置文件 vim /etc/profile # 最后一行加上环境变量路径 export PATH=$PATH:/usr/local/erlang/bin # 使变量生效 source /etc/profile
-
查看是否安装成功
[root@localhost opt]# erl -version Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 12.3.2.1
-
安装mq
rpm -ivh rabbitmq-server-3.12.0-1.el8.noarch.rpm # 查看是否安装成功 rpm -qa|grep rabbitmq
-
开启管理界面
rabbitmq-plugins enable rabbitmq_management
-
添加配置文件,解决只能localhost访问问题
# /etc/rabbitmq目录下 cd /etc/rabbitmq/ vi rabbitmq.config # 添加以下命令,.特别重要 [{tabbit,[{loopback_users,[]}]}].
-
启动rabbitmq
# 启动 systemctl start rabbitmq-server.service # 查看状态 systemctl status rabbitmq-server.service # 停止 systemctl stop rabbitmq-server.service # 重启 systemctl restart rabbitmq-server.service
-
开放端口
******************命令如下****************** # 开放5672端口命令 # /sbin/iptables -I INPUT -p tcp --dport 5672 -j ACCEPT 未成功 firewall-cmd --permanent --add-port=5672/tcp # 开放15672端口命令 # /sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT 未成功 firewall-cmd --permanent --add-port=15672/tcp firewall-cmd --reload
-
常用命令
#查看当前所有的用户 rabbitmqctl list_users #查看guest用户所有拥有的权限 rabbitmqctl list_user_permissions guest #删除原来的guest用户 rabbitmqctl delete_user guest #添加一个新的用户 rabbitmqctl add_user admin 12345678 #给admin设置个角色(tag) rabbitmqctl set_user_tags admin administrator #给admin赋予权限 rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" #查看用户所拥有的权限 rabbitmqctl list_user_permissions admin
-
登录
# 192.168.131.128:15672 # guest用户只能本地环境进行登录,远程需要添加新用户并设置管理权限
-
自启动
# 创建自启动文件 vim /etc/systemd/system/rabbitmq.service # 文件内容 [Unit] Description=rabbitmq After=network.target [Service] Type=forking User=root Group=root WorkingDirectory=/usr/local/rabbitmq_server-3.8.2 # 安装路径 ExecStart=/usr/local/rabbitmq_server-3.8.2/sbin/rabbitmq-server -detached PrivateTmp=true [Install] WantedBy=multi-user.target # 安装路经查询 whereis rabbitmq # 重新加载systemctl systemctl daemon-reload # 设置rabbitmq开机自启动 systemctl enable rabbitmq
-
netstat命令
# 如没有netstat先安装netstat yum install net-tools -y # 根据端口查进程: lsof -i:port netstat -nap | grep port # 查询端口占用情况的命令(会显示所有使用端口): netstat -n -a # 根据进程号查端口: lsof -i|grep pid netstat -nap | grep pid # 根据进程名查找pid、port: ps -ef |grep tomcat ps -ef |grep port(根据port查找相关进程) ps -ef |grep pid(根据pid查找相关进程)
-
防火墙
#查看防火墙状态 firewall-cmd --state #停止firewall systemctl stop firewalld.service #开启firewall firewall-cmd --state #禁止firewall 开机启动 systemctl disable firewalld.service #查看所有打开的端口 firewall-cmd --zone=public --list-ports #添加开启一个端口 firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效) #查看端口 firewall-cmd --zone= public --query-port=80/tcp #删除端口 firewall-cmd --zone= public --remove-port=80/tcp --permanent
-
卸载相关操作
# 卸载rabbitmq # 卸载前先停止rabbitmq服务 systemctl stop rabbitmq-server # 查看rabbitmq安装的相关列表 yum list | grep rabbitmq # 卸载rabbitmq-server.noarch yum -y remove rabbitmq-server.noarch #-------------------------------------------- # 卸载erlang # 查看erlang安装的相关列表 yum list | grep erlang # 卸载erlang已安装的相关内容 yum -y remove erlang-* # 删除有关的所有文件 rm -rf /usr/lib64/erlang rm -rf /var/lib/rabbitmq rm -rf /usr/local/erlang rm -rf /usr/local/rabbitmq