centos7下安装客户端rabbitmq9.0
rabbitmq依赖erlang,centos7默认未安装erlang,erlang默认三种格式的安装源文件:
- RabbitMQ提供的被剥离的包,只提供运行RabbitMQ所需的组件,官方称零依赖项,容易安装,如果Erlang只是用来提供运行RabbitMQ的,推荐使用。
- Erlang官方提供的包,安装时需要安装依赖多,如果还需要Erlang做相关开发或运行环境,使用该包
- EPEL源提供的包,但该包版本过低,不使用该方法下载安装
这里仅用来运行rabbitmq,选择零依赖项的rpm二进制文件包即可。
[root@guangzhou src]# wget https://bintray.com/rabbitmq-erlang/rpm/download_file?file_path=erlang%2F19%2Fel%2F7%2Fx86_64%2Ferlang-19.3.6.13-1.el7.centos.x86_64.rpm
[root@guangzhou src]# mv download_file\?file_path\=erlang%2F19%2Fel%2F7%2Fx86_64%2Ferlang-19.3.6.13-.el7.centos.x86_64.rpm erlang-19.3.6.13-.el7.centos.x86_64.rpm
[root@guangzhou src]# rpm -ivh erlang-19.3.6.13-.el7.centos.x86_64.rpm
#查看erlang版本
[root@guangzhou src]# erl -version
Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 8.3.5.7
erlang安装成功,再安装rabbitmq-server:
#安装rabbitmq之前需要安装socat服务,依然下载二进制安装包
[root@guangzhou src]# wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
[root@guangzhou src]# rpm -ivh socat-1.7.3.2-.el7.lux.x86_64.rpm #开始安装rabbitmq-server
root@guangzhou src]# wget https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_6_16/rabbitmq-server-3.6.16-1.el6.noarch.rpm
[root@guangzhou src]# rpm -ivh rabbitmq-server-3.6.-.el6.noarch.rpm
#安装成功运行服务
[root@guangzhou src]# rabbitmq-server RabbitMQ 3.6.. Copyright (C) - Pivotal Software, Inc.
## ## Licensed under the MPL. See http://www.rabbitmq.com/
## ##
########## Logs: /var/log/rabbitmq/rabbit@guangzhou.log
###### ## /var/log/rabbitmq/rabbit@guangzhou-sasl.log
##########
Starting broker...
completed with plugins. [root@guangzhou src]# systemctl status rabbitmq-server
● rabbitmq-server.service - LSB: Enable AMQP service provided by RabbitMQ broker
Loaded: loaded (/etc/rc.d/init.d/rabbitmq-server; bad; vendor preset: disabled)
Active: active (running) since 四 -- :: CST; 6s ago
Docs: man:systemd-sysv-generator()
Process: ExecStart=/etc/rc.d/init.d/rabbitmq-server start (code=exited, status=/SUCCESS)
CGroup: /system.slice/rabbitmq-server.service
├─ /bin/sh /etc/rc.d/init.d/rabbitmq-server start
├─ /bin/bash -c ulimit -S -c >/dev/null >& ; /usr/sbin/rabbitmq-server
└─ /bin/sh /usr/sbin/rabbitmq-server 1月 :: guangzhou systemd[]: Starting LSB: Enable AMQP service provided by RabbitMQ broker...
1月 :: guangzhou su[]: (to rabbitmq) root on none
1月 :: guangzhou su[]: (to rabbitmq) root on none
1月 :: guangzhou su[]: (to rabbitmq) root on none
1月 :: guangzhou rabbitmq-server[]: Starting rabbitmq-server: SUCCESS
1月 :: guangzhou systemd[]: Started LSB: Enable AMQP service provided by RabbitMQ broker.
1月 :: guangzhou rabbitmq-server[]: rabbitmq-server.
查看rabbitmq-server运行状态 systemctl status rabbitmq-server 启动rabbitmq-server服务 systemctl start rabbitmq-server 加入开机启动 systemctl enable rabbitmq-server 停止rabbitmq-server服务 systemctl stop rabbitmq-server 禁止开机启动 systemctl disable rabbitmq-server 是否允许开机启动 systemctl is-enabled rabbitmq-server
开启web后台管理插件
[root@guangzhou src]# rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
amqp_client
cowlib
cowboy
rabbitmq_web_dispatch
rabbitmq_management_agent
rabbitmq_management Applying plugin configuration to rabbit@guangzhou... started plugins. #查看rabbitmq-server监听的所有插件
[root@guangzhou src]# rabbitmqctl status|grep list
{listeners,[{clustering,,"::"},{amqp,,"::"},{http,,"::"}]}, #其中第三个的端口15672,这是rabbitmq_management插件监听的端口 #查看已所有开放的端口(centos7默认由firewalld控制端口)
[root@guangzhou src]# firewall-cmd --zone=public --list-ports
FirewallD is not running
[root@guangzhou src]# systemctl start firewalld
#可见未开放任何端口
[root@guangzhou src]# firewall-cmd --zone=public --list-ports #开放15672端口给浏览器访问用
[root@guangzhou src]# firewall-cmd --zone=public --add-port=/tcp --permanent
success
[root@guangzhou src]# firewall-cmd --zone=public --add-port=/tcp --permanent
success
[root@guangzhou src]# firewall-cmd --reload
success
[root@guangzhou src]# firewall-cmd --zone=public --list-ports
/tcp /tcp
[root@guangzhou src]# #浏览器中输入 http://服务器IP:15672 就可以看到RabbitMQ的WEB管理台
创建用户
#新增用户(用户名+密码)
[root@guangzhou src]# rabbitmqctl add_user admin admin
Creating user "admin"
#为用户配置权限
[root@guangzhou src]# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
Setting permissions for user "admin" in vhost "/"
#将用户设置为管理员
[root@guangzhou src]# rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator]
#查看所有用户
[root@guangzhou src]# rabbitmqctl list_users
Listing users
admin [administrator]
guest [administrator]
安装rabbitmq客户端
[root@guangzhou src]# wget https://github.com/alanxz/rabbitmq-c/archive/v0.9.0.tar.gz
[root@guangzhou src]# mv v0.9.0.tar.gz rabbitmq-c-v0.9.0.tar.gz
[root@guangzhou src]# tar -zxvf rabbitmq-c-v0.9.0.tar.gz
[root@guangzhou src]# cd rabbitmq-c-0.9./
[root@guangzhou rabbitmq-c-0.9.]# mkdir build && cd build
#当cmake根据rabbitmq-c的根目录下的CMakeList.txt创建Makefile文件时,会将Makefile文件放进build目录
[root@guangzhou build]# cmake ..
[root@guangzhou build]# cd ..
[root@guangzhou rabbitmq-c-0.9.]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c-0.9.
[root@guangzhou rabbitmq-c-0.9.]# cmake --build . --target install
安装rabbitmq的php扩展
[root@guangzhou src]# wget http://pecl.php.net/get/amqp-1.9.4.tgz
[root@guangzhou src]# tar -zxvf amqp-1.9..tgz
[root@guangzhou src]# cd amqp-1.9./
[root@guangzhou amqp-1.9.]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
[root@guangzhou amqp-1.9.]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c-0.9.
[root@guangzhou amqp-1.9.]# make
/bin/sh /usr/local/src/amqp-1.9./libtool --mode=link cc -DPHP_ATOM_INC -I/usr/local/src/amqp-1.9./include -I/usr/local/src/amqp-1.9./main -I/usr/local/src/amqp-1.9. -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib -I/usr/local/rabbitmq-c-0.9./include -DHAVE_CONFIG_H -g -O2 -o amqp.la -export-dynamic -avoid-version -prefer-pic -module -rpath /usr/local/src/amqp-1.9./modules amqp.lo amqp_type.lo amqp_exchange.lo amqp_queue.lo amqp_connection.lo amqp_connection_resource.lo amqp_channel.lo amqp_envelope.lo amqp_basic_properties.lo amqp_methods_handling.lo amqp_timestamp.lo amqp_decimal.lo -Wl,-rpath,/usr/local/rabbitmq-c-0.9./lib -L/usr/local/rabbitmq-c-0.9./lib -lrabbitmq
cc -shared .libs/amqp.o .libs/amqp_type.o .libs/amqp_exchange.o .libs/amqp_queue.o .libs/amqp_connection.o .libs/amqp_connection_resource.o .libs/amqp_channel.o .libs/amqp_envelope.o .libs/amqp_basic_properties.o .libs/amqp_methods_handling.o .libs/amqp_timestamp.o .libs/amqp_decimal.o -L/usr/local/rabbitmq-c-0.9./lib -lrabbitmq -Wl,-rpath -Wl,/usr/local/rabbitmq-c-0.9./lib -Wl,-soname -Wl,amqp.so -o .libs/amqp.so
/usr/bin/ld: cannot find -lrabbitmq
collect2: error: ld returned exit status
make: *** [amqp.la] 错误 #这里使用make命令时会报错,对rabbitmq-c-0.9.0目录创建软链指向
[root@guangzhou amqp-1.9.]# ln -s /usr/local/rabbitmq-c-0.9./lib64 /usr/local/rabbitmq-c-0.9./lib #再次执行make命令
[root@guangzhou amqp-1.9.]# make
[root@guangzhou amqp-1.9.]# make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-/ #更改php.ini,加上extension=amqp.so
root@guangzhou etc]# vim php.ini
[root@guangzhou etc]# php --ri amqp amqp Version => 1.9.
Revision => release
Compiled => Jan @ ::
AMQP protocol version => --
librabbitmq version => 0.9.
Default max channels per connection =>
Default max frame size =>
Default heartbeats interval => Directive => Local Value => Master Value
amqp.auto_ack => =>
amqp.cacert => no value => no value
amqp.cert => no value => no value
amqp.channel_max => =>
amqp.connect_timeout => =>
amqp.frame_max => =>
amqp.heartbeat => =>
amqp.host => localhost => localhost
amqp.key => no value => no value
amqp.login => guest => guest
amqp.password => guest => guest
amqp.port => =>
amqp.prefetch_count => =>
amqp.read_timeout => =>
amqp.sasl_method => =>
amqp.timeout => no value => no value
amqp.verify => =>
amqp.vhost => / => /
amqp.write_timeout => => 0
[root@guangzhou etc]# systemctl restart php-fpm.service
至此安装完成,最开始使用yum安装erlang,走了很多坑,包括涉及和rabbitmq版本兼容的问题,一直没解决好,这里就不列出来其中艰辛过程了。后yum卸载erlang重新用rpm二进制包安装进展顺利。
centos7下安装客户端rabbitmq9.0的更多相关文章
- Centos7下安装zabbix 3.0.19
参考网站: https://www.cnblogs.com/xiewenming/p/7732144.html https://www.cnblogs.com/clsn/p/7885990.html ...
- centos7下安装配置redis3.0.4
安装redis 1.进入redis官网(redis.io)下载redis稳定版安装包,目前稳定版本为3.0.4 2.在linux /usr文件夹下新建redis文件夹,拷贝安装包redis-3.0. ...
- Centos7下安装mono3.10.0
mono 3.10.0 正式发布:性能进一步改进,以前已经写过一篇 Centos 7.0 安装Mono 3.4 和Jexus 5.6.下面我们在CentOS 7上通过源码安装Mono 3.10, 需 ...
- CentOS7 Python3下安装 TensorToolbox 1.0.22时的一些错误及解决办法
CentOS7 Python3下安装 TensorToolbox 1.0.22 (python3) [jiangshan@localhost ~]$ pip install TensorToolbox ...
- CentOS7 下安装 iSCSI Target(tgt) ,使用 Ceph rbd
目录 一.iSCSI 介绍 1. iSCSI 定义 2. 几种常见的 iSCSI Target 3. 优缺点比较 二.安装步骤 1. 关闭防火墙 2. 关闭selinux 3. 通过 yum 安装 t ...
- MariaDB Centos7 下安装MariaDB
Centos7 下安装MariaDB by:授客 QQ:1033553122 1.下载安装文件 rpm包为例,对于标准服务器安装,至少需要下载client,shared,serve文件(安装时如果少了 ...
- centos7下安装zookeeper&zookeeper集群的搭建
一.centos7下安装zookeeper 1.zookeeper 下载地址 https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 2.安装步骤 ...
- Linux CentOs7 下安装 redis
Linux CentOs7 下安装 redis 请将以下命令放入linux命令行中运行 如果安装过程前没有安装GCC请先安装 命令如下 $ yum install gcc-c++ $ wget ht ...
- Centos7下安装配置Redsocks
Redsocks是一个开源的网络程序,代码依赖开源的libevent网络库.Redsocks允许你将所有TCP连接重定向到SOCKS或HTTPS代理,比如Shadowsocks(Centos7下安装配 ...
随机推荐
- 为什么现在使用多周期CPU,而单周期CPU被弃用?
最初设计的CPU结构简单,内部不复杂.之所以制造它是为了让机器自动跑程序,算数. 早期CPU都是单周期的,人们没考虑那么多,性能啥的.就让CPU每个时钟周期跑一个指令,这些时钟周期等长.这样下来,有的 ...
- DRF Django REST framework 之 解析器(二)
引入 Django Rest framework帮助我们实现了处理application/json协议请求的数据,如果不使用DRF,直接从 request.body 里面拿到原始的客户端请求的字节数据 ...
- 压缩感知重构算法之OMP算法python实现
压缩感知重构算法之OMP算法python实现 压缩感知重构算法之CoSaMP算法python实现 压缩感知重构算法之SP算法python实现 压缩感知重构算法之IHT算法python实现 压缩感知重构 ...
- 机器学习预测时label错位对未来数据做预测
前言 这篇文章时承继上一篇机器学习经典模型使用归一化的影响.这次又有了新的任务,通过将label错位来对未来数据做预测. 实验过程 使用不同的归一化方法,不同得模型将测试集label错位,计算出MSE ...
- linux—chown
1 .修改 /usr/local下bin目录的所属者 2.修改 /usr/local下bin目录的所属组 3.修改 /usr/local下games目录的所属者和所属组 4.修改 /usr/local ...
- Django 10
目录 cookie和session cookie session token Django中间件 自定义中间件 process_request process_response 其他方法 cookie ...
- 【TS】358- 浅析 TypeScript 设计模式
点击上方"前端自习课"关注,学习起来~ 作者:DD菜 https://zhuanlan.zhihu.com/p/43283016 设计模式就是软件开发过程中形成的套路,就如同你在玩 ...
- JS基础-变量类型和类型转换
JS 变量类型 JS中有 6 种原始值,分别是: boolean number string undefined symbol null 引用类型: 对象 数组 函数 JS中使用typeof能得到哪些 ...
- Java并发线程池到底设置多大?
前言 在我们日常业务开发过程中,或多或少都会用到并发的功能.那么在用到并发功能的过程中,就肯定会碰到下面这个问题 并发线程池到底设置多大呢? 通常有点年纪的程序员或许都听说这样一个说法 (其中 N 代 ...
- Centos7上离线搭建PHP-7.2.26
一.下载php源安装包,解压至/home/php目录下 下载地址:https://www.php.net/distributions/php-7.2.26.tar.gz [root@localhost ...