安装 RabbitMQ

写在前面

前面的教程主要以 CentOS 7.* 作为服务器进行安装 RabbitMQ(因为 CentOS7 已经足够稳定,能升级到 CentOS7 还是推荐升级)

添加 erlang 源

wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
// 如果没有安装epel-release, 会出现错误:epel-release is needed by erlang-solutions-1.0-1.noarch
sudo yum install epel-release
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
yum install erlang -y

安装 RabbitMQ

rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm

yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm

RabbitMQ 常用操作

开机启动 RabbitMQ

chkconfig rabbitmq-server on

启动服务

/sbin/service rabbitmq-server start

启动服务状态

/sbin/service rabbitmq-server status

关闭服务

/sbin/service rabbitmq-server stop

重启服务

/sbin/service rabbitmq-server restart

查看当前用户

rabbitmqctl list_users
# 输出结果:
Listing users ...
guest   [administrator]

默认会有一个 gust 用户, 查看 guest 权限

rabbitmqctl list_user_permissions guest
# 输出结果:
Listing permissions for user "guest" ...
/       .*      .*      .*

建议删除默认用户

rabbitmqctl delete_user guest
# 输出结果:
Deleting user "guest" ...

添加新用户

rabbitmqctl add_user username password
# username 是 需要设置的用户名
# password 是 需要设计的密码

设置用户组

rabbitmqctl set_user_tags username administrator
# username 是 上面你设置的用户名

为新建用户赋权, 这里设置最高权限

rabbitmqctl set_permissions -p / username ".*" ".*" ".*"

查看权限

rabbitmqctl list_user_permissions username

开启 RabbitMQ WEB 管理.

rabbitmq-plugins enable rabbitmq_management

开启端口

端口号: 15672

我是用的云服务器是阿里云,同时设置了 iptable 防火墙,所以 云服务器平台的安全组和 iptable 都需要打开 15672 端口

访问地址: [本地] http://localhost:15672 或者 [服务器] http://服务器IP:15672

爬坑记录

1. erl: command not found

原因: 安装 erlang 时, 没有设置环境变量. 一般安装好, 服务器会识别 erl 命令, 我重新安装 erlang 后就可以了

2. 启动失败

suggestion: start the node, 我在网上找了很多教程

[网上教程地址]https://stackoverflow.com/questions/8633882/rabbitmq-on-ubuntu-10-04-server

// 使用 hostname 获取服务器的 hostname
vim /etc/hosts
        127.0.0.1 localhost.localdomain   localhost  YOUR-HOSTNAME
        ::1       localhost6.localdomain6 localhost6
保存:wq
service rabbitmq-server start

3. CentOS 6.*

centos6 需要安装 socat依赖

wget http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el6/en/x86_64/rpmforge/RPMS/socat-1.7.2.4-1.el6.rf.x86_64.rpm
yum install socat-1.7.2.4-1.el6.rf.x86_64.rpm

安装 erlang

wget https://packages.erlang-solutions.com/erlang/rpm/centos/6/x86_64/esl-erlang_19.1.5-1~centos~6_amd64.rpm
rpm -Uvh esl-erlang_19.1.5-1~centos~6_amd64.rpm

安装 RabbitMQ

rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el6.noarch.rpm

rpm -ivh --nodeps rabbitmq-server-3.6.6-1.el6.noarch.rpm

PHP 使用 RabbitMQ

1. 安装扩展

常见的扩展需要: mbstring dom curl bcmath

yum install php-bcmath

### 2. php 类库

https://github.com/php-amqplib/php-amqplib

文章推荐

错误解决

https://stackoverflow.com/questions/8633882/rabbitmq-on-ubuntu-10-04-server

卸载命令

https://blog.csdn.net/zwhfyy/article/details/82769736

安装过程

https://www.cnblogs.com/yw0219/p/8933917.html

php 进程常驻

https://www.cnblogs.com/seans/p/3857925.html

Last Updated: 8/14/2019, 2:05:14 PM