参考资料
https://learnku.com/articles/48972
安装 erlang
erlang 是 RabbitMQ 的依赖。首先执行
sudo apt-get update
然后执行
sudo apt-get install erlang
安装完毕后,输入 erl 查看 erlang 版本,出现如下提示则表示安装成功:
Erlang R16B03 (erts-5.10.4) [source] [64-bit] [async-threads:10] [kernel-poll:false]
- 然后退出 erlang 命令行:按下 ctrl+c,然后输入 a 即可。
- 安装 RabbitMq:
执行:等待安装完毕提示:sudo apt-get install rabbitmq-server
安装完毕后,查看 RabbitMQ 状态:
sudo rabbitmqctl status
附:
启动RabbitMQ: service rabbitmq-server start
停止RabbitMQ: service rabbitmq-server stop
重启RabbitMQ: service rabbitmq-server restart
配置 RabbitMQ
执行命令,启动 RabbitMQ 插件:
sudo rabbitmq-plugins enable rabbitmq_management
这个可以启动 RabbitMQ 的 web 控制台。
例如:
rabbitmqctl add_user admin admin
给予用户管理员权限:
sudo rabbitmqctl set_user_tags admin administrator
为用户设置读写权限:
sudo rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"
如:
sudo rabbitmqctl set_permissions -p / admin “.*” “.*” “.*”
好了,至此就可以访问 RabbitMQ 后台了。
打开 RabbitMQ 后台:
浏览器中输入:http:// 服务器 ip+:15672, 例如我的是:192.168.10.10:15672/
但是这里就有个问题,浏览器提示:
无法访问此网站192.168.10.10 拒绝了我们的连接请求。
原因是服务器(ubuntu)15672 端口默认是关闭的,因此需要打开。
很简单,执行两条指令:
1. sudo apt-get install iptables 2. sudo iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
退出重启服务器,访问结果:
运行环境(ubuntu)安装 amqp 扩展
这些扩展是运行必须,可以类比为 mongodb,redis 扩展。
分别执行以下指令:
sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install libssl-dev
sudo apt-get -y install librabbitmq-dev
在这里安装可能会遇到一些小问题,遇事不决就执行:
sudo apt-get update
//时间可能会需要很久,我执行等它运行的时候大概花了一个小时
sudo apt-get upgrade
以上的扩展安装完成后执行指令安装 amqp 扩展:
sudo pecl install amqp
安装过程中会提示:
28 source files, building running: phpize Configuring for: PHP Api Version: 20170718 Zend Module Api No: 20170718 Zend Extension Api No: 320170718 Set the path to librabbitmq install prefix [autodetect] :
回车即可,等待安装完成:
You should add "extension=amqp.so" to php.ini
这里还会有个小坑,php.ini 在 /etc/php/7.2 下有两个(具体自己的 php 版本是哪个可以使用 php -v 查看),一个是:/etc/php/7.2/cli/php.ini,另一个是:/etc/php/7.2/fpm/php.ini,因此,不管加入什么扩展都要分别加入进去。
加入完成,重启 php: sudo service php7.2-fpm restart。然后执行 php -m 查看扩展是否安装完成:
