文章目录
版本说明
RabbitMq 3.8.3 版本对应Erlang 22.3
RabbitMq-3.8.3及Erlang 22.3
链接: https://pan.baidu.com/s/1_TY4drZjXjGcOQedSpRpBA?pwd=6tsd
提取码: 6tsd
一、安装 Erlang
1、下载 Erlang 22.3
[root@root mq]# wget http://erlang.org/download/otp_src_22.3.tar.gz
2、解压并编译安装
# 解压erlang安装包
[root@root mq]# tar -zxvf otp_src_22.3.tar.gz
进入目录
cd otp_src_22.3/
编译安装
[root@root otp_src_22.3]# ./otp_build autoconf
[root@root otp_src_22.3]# ./configure && make && sudo make install
等待安装完成,如果在 ./configure && make && sudo make install 安装过程中 碰到
configure: error: No curses library functions found
ERROR: /usr/local/waves/mq/otp_src_22.3/erts/configure failed!
已杀死、
原因:编译 Erlang 源码时缺少 curses 库,该库用于构建 Erlang 的交互式终端界面和文档生成工具。在 Kylin Linux V10 中,curses 开发库一般由 ncurses-devel 包提供。
安装 curses 即可,重新编译安装即可
# 安装 curses
[root@root otp_src_22.3]# sudo yum install -y ncurses-devel
# 再次执行,等待安装完成
[root@root otp_src_22.3]# ./configure && make && sudo make install
3、安装完成验证
[root@root lib]# erl -version
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.7
[root@root lib]# erl
Erlang/OTP 22 [erts-10.7] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]
Eshell V10.7 (abort with ^G)
1>
二、安装RabbMq
1、下载RabbitMq
#直接访问链接下载上传Linux服务器
https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.3/rabbitmq-server-generic-unix-3.8.3.tar.xz
#或者直接
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.3/rabbitmq-server-generic-unix-3.8.3.tar.xz
注意: 下载的是xz格式的文件,xz 是一种高效的压缩文件格式,基于 LZMA2 压缩算法,具有较高的压缩比,常用于压缩源代码、文档等文件。压缩后的文件体积通常比 zip、tar.gz 等格式更小,但压缩和解压过程对 CPU 资源消耗相对较高。在 Unix/Linux 系统中较为常见,许多开源软件的安装包(如 RabbitMQ 安装包)会采用这种格式发布。
2、解压与安装
# 解压 rabbitmq 安装包
xz -d rabbitmq-server-generic-unix-3.8.3.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.8.3.tar
配置Mq 环境变量
编辑profile 增加Mq 路径
vim /etc/profile
# 在文件最后添加
export PATH=$PATH:/usr/local/lib/erlang/bin:/usr/local/waves/mq/rabbitmq_server-3.8.3/sbin
#添加后
Esc
:wq! #保存并退出
# 刷新配置文件
source /etc/profile
3、开启web端插件
[root@root ~]# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@root:
rabbitmq_management
The following plugins have been configured:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
Applying plugin configuration to rabbit@root...
The following plugins have been enabled:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
set 3 plugins.
Offline change; changes will take effect at broker restart.
[root@root ~]#
4、启动RabbitMq
# 前台运行
[root@root sbin]# ./rabbitmq-server
# 后台运行
[root@root sbin]# ./rabbitmq-server -detached
5、验证是否启动
[root@root sbin]# ps -ef | grep rabbitmq
root 63045 62132 0 16:26 pts/1 00:00:00 /bin/sh /usr/local/waves/mq/rabbitmq_server-3.8.3/sbin/rabbitmq-server
root 63199 63045 3 16:26 pts/1 00:00:05 /usr/local/lib/erlang/erts-10.7/bin/beam.smp -W w -A 64 -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -K true -B i -- -root /usr/local/lib/erlang -progname erl -- -home /root -- -pa /usr/local/waves/mq/rabbitmq_server-3.8.3/ebin -noshell -noinput -s rabbit boot -sname rabbit@root -boot start_sasl -kernel inet_default_connect_options [{nodelay,true}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit lager_log_root "/usr/local/waves/mq/rabbitmq_server-3.8.3/var/log/rabbitmq" -rabbit lager_default_file "/usr/local/waves/mq/rabbitmq_server-3.8.3/var/log/rabbitmq/rabbit@root.log" -rabbit lager_upgrade_file "/usr/local/waves/mq/rabbitmq_server-3.8.3/var/log/rabbitmq/rabbit@root_upgrade.log" -rabbit feature_flags_file "/usr/local/waves/mq/rabbitmq_server-3.8.3/var/lib/rabbitmq/mnesia/rabbit@root-feature_flags" -rabbit enabled_plugins_file "/usr/local/waves/mq/rabbitmq_server-3.8.3/etc/rabbitmq/enabled_plugins" -rabbit plugins_dir "/usr/local/waves/mq/rabbitmq_server-3.8.3/plugins" -rabbit plugins_expand_dir "/usr/local/waves/mq/rabbitmq_server-3.8.3/var/lib/rabbitmq/mnesia/rabbit@root-plugins-expand" -os_mon start_cpu_sup false -os_mon start_disksup false -os_mon start_memsup false -mnesia dir "/usr/local/waves/mq/rabbitmq_server-3.8.3/var/lib/rabbitmq/mnesia/rabbit@root" -ra data_dir "/usr/local/waves/mq/rabbitmq_server-3.8.3/var/lib/rabbitmq/mnesia/rabbit@root/quorum" -kernel inet_dist_listen_min 25672 -kernel inet_dist_listen_max 25672 --
root 63758 2272 0 16:28 pts/0 00:00:00 grep --color=auto rabbitmq
6、使用命令添加用户
命令添加用户的条件Mq必须正在运行。例如添加 admin
#添加用户
#rabbitmqctl add_user 账号 密码
rabbitmqctl add_user admin admin
[root@root sbin]# ./rabbitmqctl add_user admin admin
Adding user "admin" ...
#分配用户标签,给admin账号分配 administrator 标签
rabbitmqctl set_user_tags admin administrator
[root@root sbin]# ./rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...
#设置访问权限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
[root@root sbin]# ./rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
Setting permissions for user "admin" in vhost "/" ...
最后使用admin 账号登录进行测试
三、开放防火墙端口
# 查询已开放的端口
[root@root sbin]# firewall-cmd --list-ports
3306/tcp
# 开放 15672端口,web管理端访问端口
[root@root sbin]# firewall-cmd --add-port=15672/tcp --permanent
success
# 开放 5672 ,Java等程序连接端口
[root@root sbin]# firewall-cmd --add-port=5672/tcp --permanent
success
# 重载防火墙配置
[root@root sbin]# firewall-cmd --reload
success
四、配置开机自启
在 /etc/systemd/system 新建 rabbitmq-server.service
写入一下内容
[root@root system]# vim rabbitmq-server.service
[Unit]
Description=RabbitMQ Messaging Server
After=network.target
[Service]
Type=forking
User=root
Group=root
# erlang 安装地址
Environment="PATH=/usr/local/erlang/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# rabbitmq 安装地址
ExecStart=/usr/local/waves/mq/rabbitmq_server-3.8.3/sbin/rabbitmq-server
ExecStop=/usr/local/waves/mq/rabbitmq_server-3.8.3/sbin/rabbitmqctl stop
Restart=on-failure
TimeoutStopSec=60
TimeoutStartSec=60
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
重新加载配置
#重载配置 在 /etc/systemd/system 目录下 执行
[root@root system]# systemctl daemon-reload
# 启用服务(设置开机自启)
[root@root system]# systemctl enable rabbitmq-server