消息队列 CentOS7 + RabbitMQ-3.7 + PHP7扩展库 -- 安装指南

安装依赖

sudo yum install -y gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git

添加源

  • 添加 erlang 源
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
  • 添加 rabbitmq-server 源
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
  • 清除 Yum 缓存
yum clean all
yum makecache

安装 Erlang

# 安装
sudo yum install -y erlang

# 查看Erlang版本
erl -version

# 返回信息: 
# Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.4.1
 
# 查看发行版本
erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().'  -noshell

#返回信息:
"22"

安装 socat 网络工具

sudo yum install -y socat

安装 RabbitMQ 服务器

yum install -y rabbitmq-server

启动RabbitMQ服务及常用命令

# 启动RabbitMQ服务
sudo systemctl start rabbitmq-server
# 或者 service rabbitmq-server start

# 查看状态
sudo systemctl status rabbitmq-server
# 或者 rabbitmqctl status

# 设置为开机启动
sudo systemctl enable rabbitmq-server

# 重启服务
service rabbitmq-server restart

# 停止服务
rabbitmqctl stop

# 启用插件(WEB管理器, 访问 `http://ip:15672` 进入, 注意防火墙)
rabbitmq-plugins enable rabbitmq_management

# 快速测试WEB管理插件
curl localhost:15672

# 添加帐号: admin 密码: pass123456
rabbitmqctl add_user admin pass123456

# 赋予其administrator角色
# 角色可以为: administrator, monitoring, management
rabbitmqctl set_user_tags admin administrator

# 设置权限
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

# 修改 admin 密码为: new123456
rabbitmqctl change_password admin new123456

# 显示所有的插件,每一行一个
rabbitmq-plugins list

# 显示所有的插件,并且显示插件的版本号和描述信息
rabbitmq-plugins list -v

# 显示所有名称含有 "management" 的插件
rabbitmq-plugins list -v management

# 显示所有显示或者隐式启动的插件
rabbitmq-plugins list -e rabbit

!! 提示 :

如果通过 localhost:15672 查看rabbitmq服务器的信息,
可以通过guest帐号来登录认证查看,
但是由于默认情况下 guest 帐号具有所有的操作权限,
并且还是默认帐号,处于安全因素的考虑,
guest 用户只能通过localhost登录使用。
所以最好是修改guest帐号的密码,
且创建新的帐号来管理查看rabbitmq服务器 。

RabbitMQ 所需端口号

  • 4369 (epmd), 25672 (Erlang distribution)
  • 5672, 5671 (AMQP 0-9-1 without and with TLS)
  • 15672 (if management plugin is enabled)
  • 61613, 61614 (if STOMP is enabled)
  • 1883, 8883 (if MQTT is enabled)

安装 PHP-amqplib 扩展

  • Github 项目地址 https://github.com/php-amqplib/php-amqplib

  • 安装依赖 (bcmath PHP扩展)

yum install -y php-bcmath
  • 添加 php-amqplib 扩展
# cd 到php项目根目录
composer require php-amqplib/php-amqplib
[可选] 添加 Enqueue Dev -- AMQP Lib 扩展 ( 基于 php-amqplib )
  • Enqueue Dev -- AMQP Lib (开箱即用的消息队列扩展)
  • 官方介绍(英文) : https://php-enqueue.github.io/transport/amqp_lib/
  • Github 项目地址: https://github.com/php-enqueue/enqueue-dev/blob/master/docs/transport/amqp_lib.md
# cd 到php项目根目录
composer require enqueue/amqp-lib

你可能感兴趣的:(消息队列 CentOS7 + RabbitMQ-3.7 + PHP7扩展库 -- 安装指南)