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的更多相关文章

  1. Centos7下安装zabbix 3.0.19

    参考网站: https://www.cnblogs.com/xiewenming/p/7732144.html https://www.cnblogs.com/clsn/p/7885990.html  ...

  2. centos7下安装配置redis3.0.4

    安装redis 1.进入redis官网(redis.io)下载redis稳定版安装包,目前稳定版本为3.0.4 2.在linux  /usr文件夹下新建redis文件夹,拷贝安装包redis-3.0. ...

  3. Centos7下安装mono3.10.0

    mono 3.10.0 正式发布:性能进一步改进,以前已经写过一篇  Centos 7.0 安装Mono 3.4 和Jexus 5.6.下面我们在CentOS 7上通过源码安装Mono 3.10, 需 ...

  4. CentOS7 Python3下安装 TensorToolbox 1.0.22时的一些错误及解决办法

    CentOS7 Python3下安装 TensorToolbox 1.0.22 (python3) [jiangshan@localhost ~]$ pip install TensorToolbox ...

  5. CentOS7 下安装 iSCSI Target(tgt) ,使用 Ceph rbd

    目录 一.iSCSI 介绍 1. iSCSI 定义 2. 几种常见的 iSCSI Target 3. 优缺点比较 二.安装步骤 1. 关闭防火墙 2. 关闭selinux 3. 通过 yum 安装 t ...

  6. MariaDB Centos7 下安装MariaDB

    Centos7 下安装MariaDB by:授客 QQ:1033553122 1.下载安装文件 rpm包为例,对于标准服务器安装,至少需要下载client,shared,serve文件(安装时如果少了 ...

  7. centos7下安装zookeeper&zookeeper集群的搭建

    一.centos7下安装zookeeper 1.zookeeper 下载地址 https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 2.安装步骤 ...

  8. Linux CentOs7 下安装 redis

    Linux CentOs7 下安装 redis 请将以下命令放入linux命令行中运行 如果安装过程前没有安装GCC请先安装  命令如下 $ yum install gcc-c++ $ wget ht ...

  9. Centos7下安装配置Redsocks

    Redsocks是一个开源的网络程序,代码依赖开源的libevent网络库.Redsocks允许你将所有TCP连接重定向到SOCKS或HTTPS代理,比如Shadowsocks(Centos7下安装配 ...

随机推荐

  1. for循环使用element的折叠面板遇到的问题-3

    需求:for循环渲染上去的表单怎么使用element的表单校验 之前做这个的时候,死活绑不上去,不知道哪里出了问题,后来解决办法是prop要注意用拼接,使它和索引的变量一致 <el-form-i ...

  2. 使用ModelArts自动学习完成猫狗声音分类

    准备数据 点击下载猫狗声音数据集至本地: 解压,文件包结构大概如下图所示 data ├── test │ ├── cats │ │ ├── cat_20.wav │ │ ├── ...... │ │ ...

  3. 基于webpack实现多html页面开发框架五 开发环境配置 babel配置

    一.解决什么问题      1.开发环境js.css不压缩,可在浏览器选中代码调试      2.开发环境运行http服务指向打包后的文件夹      3.babel输出浏览器兼容的js代码 二.需要 ...

  4. Seata AT 模式启动源码分析

    从上一篇文章「分布式事务中间件Seata的设计原理」讲了下 Seata AT 模式的一些设计原理,从中也知道了 AT 模式的三个角色(RM.TM.TC),接下来我会更新 Seata 源码分析系列文章. ...

  5. Mybatis_多表关联查询_resultMap_集合对象_N+1方式实现

    mapper 层 提供 ClazzMapper 和 StudentMapper, ClazzMapper 查询所有班级信息, StudentMapper 根据班级编号查询学生信息. 在 ClazzMa ...

  6. 【新】Docker实战总结

    >>> 目录 <<< Docker简介 Docker优势 Docker基本概念 Docker安装使用 Docker常用命令 Docker镜像构建 Docker本地仓 ...

  7. 并查集 2019年8月10日计蒜客联盟周赛 K.数组

    题目链接:https://nanti.jisuanke.com/t/40860 题意:给一个长度为n的数组a[],n<1e5,a[i]<1e5 三个操作: 1 x y:把所有值为x的数据改 ...

  8. HDU 6405 Make ZYB Happy(广义SAM)

    It's known to all that ZYB is godlike, so obviously he has a large number of titles, such as jskingj ...

  9. eviews面板数据的操作

    数据结构: 打开eviews File>new>workfile Object>new object > pool 输入城市名称: _bj 下划线加名称(必须是英文),竖着输入 ...

  10. 笔记||Python3之字典

    字典的定义与特性: 字典的每个键值key ==> value 对用冒号:分割,每个键值对之间用逗号分割,整个字典包括在花括号{}中. 字典名 = {键名1:值1, 键名2:值2} 如:dict ...