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下安装配 ...
随机推荐
- 王晶:华为云OCR文字识别服务技术实践、底层框架及应用场景 | AI ProCon 2019
演讲嘉宾 | 王晶(华为云人工智能高级算法工程师王晶) 出品 | AI科技大本营(ID:rgznai100) 近期,由 CSDN 主办的 2019 中国AI 开发者大会(AI ProCon 2019) ...
- CentOS7.4系统下,手动安装MySQL5.7的方法
MySQL数据库应用广泛,尤其对于JAVA程序员,不会陌生.如果在不想采购云数据库的情况下,可以自行安装MySQL数据库.文章将介绍,手动在CentOS7.4环境下,安装MySQL5.7版本的方法. ...
- Spring通过IOC帮我们做火鸡
一.IOC--setter注入 1.准备dmo 首先准备一只火鸡 public class Turkey { private int id; private String name; public i ...
- Flink入门(三)——环境与部署
flink是一款开源的大数据流式处理框架,他可以同时批处理和流处理,具有容错性.高吞吐.低延迟等优势,本文简述flink在windows和linux中安装步骤,和示例程序的运行,包括本地调试环境,集群 ...
- 用C在GBA上写光线追踪(0)配置开发编译环境
前段时间用C#写了一个光线追踪程序,可以渲染圆球,平面这种基本图形,反射,光照,阴影,都大致尝试做了一下. ↑ C#实现的光线追踪 ↑ GBA上C实现的光线追踪 然而,在我打算继续深入优化的时 ...
- VSCode 入门
一 基本布局 二 主题设置 2.1 选择颜色主题 方式一 文件 -> 首选项 -> 颜色主题 -> 上下按键 切换预览 -> enter选择 或者 CTRL + K CTRL ...
- Spring事物实例
Spring事务实例: entity实体类: public class Accounts { private int accountid; private String accountname; pr ...
- CF 1132A,1132B,1132C,1132D,1132E,1132F(Round 61 A,B,C,D,E,F)题解
A.Regular bracket sequence A string is called bracket sequence if it does not contain any characters ...
- CodeForces1000A-Light It Up
B. Light It Up time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- Mechanical Design Optimization with Abaqus and Isight
一.项目背景 本项目为"ME327机械优化设计方法"课程项目. 如何合理利用更轻更强的材料,是机器人结构设计值得深究的问题.在驱动的功率一定的情况下,更轻的机械结构意味着电机承受更 ...