官网:https://www.rabbitmq.com/

linux 安装

系统信息:

  • centos
yum install erlang
yum install rabbitmq-server

image-20210403175114690

image-20210403175035968

常用命令

Centos:

https://www.rabbitmq.com/install-rpm.html#downloads

  • 启动服务:rabbitmq-server start
  • 查看状态:rabbitmq-server status

Ubuntu:

  • 查看运行状态:service rabbitmq-server status
    • 运行中:image-20210403175820246
    • 已关闭:image-20210403180529708
  • 启动/重启/关闭:service rabbitmq-server start/restart/stop
    • image-20210403180603160
  • 查看 RabbitMQ 运行状态:sudo rabbitmqctl status
    • image-20210403181219069
    • image-20210403181252772
  • 关闭 RabbitMQ 服务:rabbitmqctl stop
  • 查看扩展:rabbitmq-plugins list

Web 界面管理

# 开启web管理界面
rabbitmq-plugins enable rabbitmq_management

# 查看当前所有用户
rabbitmqctl list_users
# 查看默认guest用户的权限
rabbitmqctl list_user_permissions guest
# 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户
rabbitmqctl delete_user guest


# 添加新用户和设置密码
rabbitmqctl add_user wen 123456
# 设置用户tag
rabbitmqctl set_user_tags wen administrator

# 赋予用户默认vhost的全部操作权限
rabbitmqctl set_permissions -p / wen ".*" ".*" ".*"

启动后打开 IP:15672 即可根据上边设置的用户登陆。

image-20210404001637234

PHP 扩展

安装依赖 rabbitmq-c :

1. wget https://github.com/alanxz/rabbitmq-c/releases/download/v0.7.1/rabbitmq-c-0.11.0.tar.gz
2. tar -zxf rabbitmq-c-0.11.0.tar.gz && cd rabbitmq-c-0.11.0
3. mkdir build && cd build
4. cmake --build .
5. make && make install

扩展地址:https://pecl.php.net/package/amqp

# 下载扩展包
wget http://pecl.php.net/get/amqp-1.10.2.tgz;
# 解压包
tar zxvf amqp-1.10.2.tgz;
# 进入包
cd amqp-1.10.2;

# 查看当前 php 运行所在目录
php --ini;
```shell
Configuration File (php.ini) Path: /www/server/php/74/etc
Loaded Configuration File: /www/server/php/74/etc/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)

/www/server/php/74/bin/phpize;
./configure –with-php-config=/www/server/php/74/bin/php-config –with-amqp
make && make install

修改 php.ini 文件

vi /www/server/php/74/etc/php.ini 添加 extension=amqp.so

重载 php.ini 配置

/www/server/php/74/sbin/php-fpm reload

查看 php 扩展情况

php -m

image-20210404131248631

image-20210404131559010

后台运行

安装时rabbitmq并未加入系统服务,所以启动时进入安装路径

./rabbitmq-server -detached

或者

sudo rabbitmqctl start_app

此时如果rabbitmq-server stop会无法停止,报节点已经启动

需用 rabbitmqctl stop_app 停止erlang上的node

查看是否启动成功

rabbitmq-server status