RabbitMQ
是基于Erlang
语言开发的
RabbitMQ官网地址
注意
: Erlang
和RabbitMQ
版本是有相应的一个关系的如下图3.9.13
的Erlang
版本支持在23.2~24.x
之间
执行语句
yum -y install esl-erlang_23.0.2-1_centos_7_amd64.rpm
执行语句
erl
执行语句
yum install -y rabbitmq-server-3.8.5-1.el7.noarch.rpm
执行语句
rabbitmq-plugins list
执行语句 安装RabbitMQ可视化控制台
rabbitmq-plugins enable rabbitmq_management
执行语句
systemctl start rabbitmq-server.service
或者使用以下方法
关闭与启动
① 到指定目录:cd/etc/init.d
② 停止:rabbitmq-server stop
③ 启动:rabbitmq-server start
④ 查看是否停止/启动成功:ps -ef |grep rabbitmq
执行语句查看是否成功
systemctl status rabbitmq-server.service
执行语句
firewall-cmd --zone=public --add-port=15672/tcp --permanent
默认端口是15672
默认用户名和密码都是guest
会提示用户只能在
localhost
里面登录,所要去修改,可以使用远程登录
rabbitmq
文件夹cd /etc/rabbitmq
rabbitmq.config
rabbitmq.config
文件内容写法(注意事项:俩种方法不能同时使用
)[{rabbit,[{loopback_users,[]}]}].
注意
: 这个.
千万不能忘记,忘记会导致不能正常远程访问
#数据管理端口(默认端口为5672)
listeners.tcp.default=5762
#界面管理端口(默认端口为15672)
management.tcp.port=15762
#必须添加它才可以远程访问
#[{rabbit,[{loopback_users,[]}]}].
loopback_users.guest = false
systemctl restart rabbitmq-server.service
执行语句
systemctl status rabbitmq-server.service
配置文件默认路径:/etc/rabbitmq/rabbitmq.conf
(文件不存在可以手动创建
)
在
RabbitMQ3.7.0
之前,RabbitMQ
配置文件被命名为rabbitmq.config
,并使用Erlang
语法配置
运行3.7.0或更高版本
仍然支持之前的配置,但建议使用新的sysctl
格式
sysctl格式与erlang格式配置文件对比
##########sysctl 格式
ssl_options.cacertfile = /path/to/testca/cacert.pem
ssl_options.certfile = /path/to/server_certificate.pem
ssl_options.keyfile = /path/to/server_key.pem
ssl_options.verify = verify_peer
ssl_options.fail_if_no_peer_cert = true
##########Erlang 格式
[
{rabbit, [{ssl_options, [{cacertfile, "/path/to/testca/cacert.pem"},
{certfile, "/path/to/server_certificate.pem"},
{keyfile, "/path/to/server_key.pem"},
{verify, verify_peer},
{fail_if_no_peer_cert, true}]}]}
].
Rabbitmq部分配置项说明
配置文件官方地址
#设置rabbimq的监听端口,默认为[5672]
listeners.tcp.local = 127.0.0.1:5672
#客户端与服务端心跳间隔,用来检测通信的对端是否存活,rabbitmq使用心跳机制来保持连接,设置为0则关闭心跳,默认是600秒,600S发一次心跳包
heartbeat = 60
#包大小,若包小则低延迟,若包则高吞吐,默认131072=128K
frame_max = 131072
#连接客户端数量
channel_max = 128
#内存告警值设置(相对值)
vm_memory_high_watermark.relative = 0.4
#内存阈值,该值为默认为0.5,该值为vm_memory_high_watermark的20%时,将把内存数据写到磁盘。如机器内存16G,当RABBITMQ占用内存1.28G(160.40.2)时把内存数据放到磁盘
vm_memory_high_watermark_paging_ratio = 0.5
#磁盘可用空间设置(绝对值)
disk_free_limit.absolute = 50000
#日志是否在控制台输出
log.console = false
#控制台输出的日志级别
log.console.level = info
log.exchange = false
log.exchange.level = info
#rabbitmq管理页面端口
management.tcp.port = 18085
#rabbitmq管理页面IP地址
management.tcp.ip = 0.0.0.0
#开启guest用户的远程链接
loopback_users.guest = none
官网地址
默认15672端口号更改
第一种方法:
在/etc/rabbitmq/rabbitmq.conf
配置文件中加上如下配置:
1)如果没有则进行创建
cd /etc/rabbitmq
vim rabbitmq.conf
并找到rabbitmq
默认配置文件
cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.3/sbin/
修改目录下的rabbitmq-defaults
文件,并在文件的最后加上这一句
CONFIG_FILE=/etc/rabbitmq/rabbitmq.conf
修改完默认端口后记得输入命令重启rabbitmq
service rabbitmq-server restart
2)否则直接编辑修改
listeners.tcp.default = 5673
或者
[{rabbit, [{tcp_listeners, [5673]}]}]
上面的示例将更改RabbitMQ监听AMQP0-9-1和AMQP 1.0协议客户端的连接端口从5672到5673。
RabbitMQ
服务器源存储库包含一个名为RabbitMQ.conf.example
的配置文件示例,它包含你可能想要设置的大多数配置项的示例(省略了一些非常模糊的匹配项)。
第二种方法:
在/etc/rabbitmq/rabbitmq-env.conf
配置文件中添加如下配置:
NODE_PORT=5673
注意事项
:rabbitmq-env.conf
配置文件中的配置优先级高于rabbitmq.conf
配置文件中的配置
默认15672端口号更改
在/etc/rabbitmq/rabbitmq.conf
配置文件中加上如下配置:
management.tcp.port = 15673
默认25672端口号更改
25672
端口用于节点间和CLI
工具通信(Erlang
分发服务器端口),并从动态范围分配(默认情况下仅限于单个端口,计算方式为AMQP 0-9-1和AMQP 1.0端口+20000),默认情况下通过RABBITMQ_NODE_PORT
计算是25672
,也可以通过RABBITMQ_DIST_PORT
环境变量配置
在/etc/rabbitmq/rabbitmq-env.conf
配置文件中添加如下配置:
DIST_PORT=25674
也可以通过设置 RABBITMQ_NODE_PORT
计算 RABBITMQ_DIST_PORT
端口:
NODE_PORT=5674
上面两种方案一种是直接设置节点和CLI
工具通信的分发端口,另外一种是通过设置RabbitMQ
服务器和客户端之间通信端口并计算得到25674
端口号。
默认4369端口号更改
EPMD
默认端口号是4369
,但是可以使用ERL_EPMD_PORT
环境变量更改。
列出在当前运行的epmd中绑定注册的端口号及监听的分发端口:
[root@rabbit1 rabbitmq]# epmd -names
epmd: up and running on port 4369 with data:
name rabbit at port 25672
修改epmd守护进程绑定的端口号:
export ERL_EPMD_PORT=4365
杀死epmd守护进程指令:
epmd -kill
当然直接在系统中使用
export
命令设置环境变量是可以生效的,但是只要系统重启环境变量就失效;可以在/etc/profile或/root/.bashrc
文件配置系统环境变量,然后source
文件名就可以永久生效了。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Boy_Martin/article/details/128884421