rabbitmq依赖erlang,centos7默认未安装erlang,erlang默认三种格式的安装源文件:

  • RabbitMQ提供的被剥离的包,只提供运行RabbitMQ所需的组件,官方称零依赖项,容易安装,如果Erlang只是用来提供运行RabbitMQ的,推荐使用。
  • Erlang官方提供的包,安装时需要安装依赖多,如果还需要Erlang做相关开发或运行环境,使用该包
  • EPEL源提供的包,但该包版本过低,不使用该方法下载安装

这里仅用来运行rabbitmq,选择零依赖项的rpm二进制文件包即可。

  1. [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
  2. [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
  3. [root@guangzhou src]# rpm -ivh erlang-19.3.6.13-.el7.centos.x86_64.rpm
  4. #查看erlang版本
  5. [root@guangzhou src]# erl -version
  6. Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 8.3.5.7

erlang安装成功,再安装rabbitmq-server:

  1. #安装rabbitmq之前需要安装socat服务,依然下载二进制安装包
  2. [root@guangzhou src]# wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
  3. [root@guangzhou src]# rpm -ivh socat-1.7.3.2-.el7.lux.x86_64.rpm
  4.  
  5. #开始安装rabbitmq-server
  6. 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
  7. [root@guangzhou src]# rpm -ivh rabbitmq-server-3.6.-.el6.noarch.rpm
  8. #安装成功运行服务
  9. [root@guangzhou src]# rabbitmq-server
  10.  
  11. RabbitMQ 3.6.. Copyright (C) - Pivotal Software, Inc.
  12. ## ## Licensed under the MPL. See http://www.rabbitmq.com/
  13. ## ##
  14. ########## Logs: /var/log/rabbitmq/rabbit@guangzhou.log
  15. ###### ## /var/log/rabbitmq/rabbit@guangzhou-sasl.log
  16. ##########
  17. Starting broker...
  18. completed with plugins.
  19.  
  20. [root@guangzhou src]# systemctl status rabbitmq-server
  21. rabbitmq-server.service - LSB: Enable AMQP service provided by RabbitMQ broker
  22. Loaded: loaded (/etc/rc.d/init.d/rabbitmq-server; bad; vendor preset: disabled)
  23. Active: active (running) since -- :: CST; 6s ago
  24. Docs: man:systemd-sysv-generator()
  25. Process: ExecStart=/etc/rc.d/init.d/rabbitmq-server start (code=exited, status=/SUCCESS)
  26. CGroup: /system.slice/rabbitmq-server.service
  27. ├─ /bin/sh /etc/rc.d/init.d/rabbitmq-server start
  28. ├─ /bin/bash -c ulimit -S -c >/dev/null >& ; /usr/sbin/rabbitmq-server
  29. └─ /bin/sh /usr/sbin/rabbitmq-server
  30.  
  31. 1 :: guangzhou systemd[]: Starting LSB: Enable AMQP service provided by RabbitMQ broker...
  32. 1 :: guangzhou su[]: (to rabbitmq) root on none
  33. 1 :: guangzhou su[]: (to rabbitmq) root on none
  34. 1 :: guangzhou su[]: (to rabbitmq) root on none
  35. 1 :: guangzhou rabbitmq-server[]: Starting rabbitmq-server: SUCCESS
  36. 1 :: guangzhou systemd[]: Started LSB: Enable AMQP service provided by RabbitMQ broker.
  37. 1 :: guangzhou rabbitmq-server[]: rabbitmq-server.
  1. 查看rabbitmq-server运行状态
  2.  
  3. systemctl status rabbitmq-server
  4.  
  5. 启动rabbitmq-server服务
  6.  
  7. systemctl start rabbitmq-server
  8.  
  9. 加入开机启动
  10.  
  11. systemctl enable rabbitmq-server
  12.  
  13. 停止rabbitmq-server服务
  14.  
  15. systemctl stop rabbitmq-server
  16.  
  17. 禁止开机启动
  18.  
  19. systemctl disable rabbitmq-server
  20.  
  21. 是否允许开机启动
  22.  
  23. systemctl is-enabled rabbitmq-server

开启web后台管理插件

  1. [root@guangzhou src]# rabbitmq-plugins enable rabbitmq_management
  2. The following plugins have been enabled:
  3. amqp_client
  4. cowlib
  5. cowboy
  6. rabbitmq_web_dispatch
  7. rabbitmq_management_agent
  8. rabbitmq_management
  9.  
  10. Applying plugin configuration to rabbit@guangzhou... started plugins.
  11.  
  12. #查看rabbitmq-server监听的所有插件
  13. [root@guangzhou src]# rabbitmqctl status|grep list
  14. {listeners,[{clustering,,"::"},{amqp,,"::"},{http,,"::"}]},
  15.  
  16. #其中第三个的端口15672,这是rabbitmq_management插件监听的端口
  17.  
  18. #查看已所有开放的端口(centos7默认由firewalld控制端口)
  19. [root@guangzhou src]# firewall-cmd --zone=public --list-ports
  20. FirewallD is not running
  21. [root@guangzhou src]# systemctl start firewalld
  22. #可见未开放任何端口
  23. [root@guangzhou src]# firewall-cmd --zone=public --list-ports
  24.  
  25. #开放15672端口给浏览器访问用
  26. [root@guangzhou src]# firewall-cmd --zone=public --add-port=/tcp --permanent
  27. success
  28. [root@guangzhou src]# firewall-cmd --zone=public --add-port=/tcp --permanent
  29. success
  30. [root@guangzhou src]# firewall-cmd --reload
  31. success
  32. [root@guangzhou src]# firewall-cmd --zone=public --list-ports
  33. /tcp /tcp
  34. [root@guangzhou src]#
  35.  
  36. #浏览器中输入 http://服务器IP:15672 就可以看到RabbitMQ的WEB管理台

创建用户

  1. #新增用户(用户名+密码)
  2. [root@guangzhou src]# rabbitmqctl add_user admin admin
  3. Creating user "admin"
  4. #为用户配置权限
  5. [root@guangzhou src]# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
  6. Setting permissions for user "admin" in vhost "/"
  7. #将用户设置为管理员
  8. [root@guangzhou src]# rabbitmqctl set_user_tags admin administrator
  9. Setting tags for user "admin" to [administrator]
  10. #查看所有用户
  11. [root@guangzhou src]# rabbitmqctl list_users
  12. Listing users
  13. admin [administrator]
  14. guest [administrator]

安装rabbitmq客户端

  1. [root@guangzhou src]# wget https://github.com/alanxz/rabbitmq-c/archive/v0.9.0.tar.gz
  2. [root@guangzhou src]# mv v0.9.0.tar.gz rabbitmq-c-v0.9.0.tar.gz
  3. [root@guangzhou src]# tar -zxvf rabbitmq-c-v0.9.0.tar.gz
  4. [root@guangzhou src]# cd rabbitmq-c-0.9./
  5. [root@guangzhou rabbitmq-c-0.9.]# mkdir build && cd build
  6. #当cmake根据rabbitmq-c的根目录下的CMakeList.txt创建Makefile文件时,会将Makefile文件放进build目录
  7. [root@guangzhou build]# cmake ..
  8. [root@guangzhou build]# cd ..
  9. [root@guangzhou rabbitmq-c-0.9.]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c-0.9.
  10. [root@guangzhou rabbitmq-c-0.9.]# cmake --build . --target install

安装rabbitmq的php扩展

  1. [root@guangzhou src]# wget http://pecl.php.net/get/amqp-1.9.4.tgz
  2. [root@guangzhou src]# tar -zxvf amqp-1.9..tgz
  3. [root@guangzhou src]# cd amqp-1.9./
  4. [root@guangzhou amqp-1.9.]# /usr/local/php/bin/phpize
  5. Configuring for:
  6. PHP Api Version:
  7. Zend Module Api No:
  8. Zend Extension Api No:
  9. [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.
  10. [root@guangzhou amqp-1.9.]# make
  11. /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
  12. 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
  13. /usr/bin/ld: cannot find -lrabbitmq
  14. collect2: error: ld returned exit status
  15. make: *** [amqp.la] 错误
  16.  
  17. #这里使用make命令时会报错,对rabbitmq-c-0.9.0目录创建软链指向
  18. [root@guangzhou amqp-1.9.]# ln -s /usr/local/rabbitmq-c-0.9./lib64 /usr/local/rabbitmq-c-0.9./lib
  19.  
  20. #再次执行make命令
  21. [root@guangzhou amqp-1.9.]# make
  22. [root@guangzhou amqp-1.9.]# make install
  23. Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-/
  24.  
  25. #更改php.ini,加上extension=amqp.so
  26. root@guangzhou etc]# vim php.ini
  27. [root@guangzhou etc]# php --ri amqp
  28.  
  29. amqp
  30.  
  31. Version => 1.9.
  32. Revision => release
  33. Compiled => Jan @ ::
  34. AMQP protocol version => --
  35. librabbitmq version => 0.9.
  36. Default max channels per connection =>
  37. Default max frame size =>
  38. Default heartbeats interval =>
  39.  
  40. Directive => Local Value => Master Value
  41. amqp.auto_ack => =>
  42. amqp.cacert => no value => no value
  43. amqp.cert => no value => no value
  44. amqp.channel_max => =>
  45. amqp.connect_timeout => =>
  46. amqp.frame_max => =>
  47. amqp.heartbeat => =>
  48. amqp.host => localhost => localhost
  49. amqp.key => no value => no value
  50. amqp.login => guest => guest
  51. amqp.password => guest => guest
  52. amqp.port => =>
  53. amqp.prefetch_count => =>
  54. amqp.read_timeout => =>
  55. amqp.sasl_method => =>
  56. amqp.timeout => no value => no value
  57. amqp.verify => =>
  58. amqp.vhost => / => /
  59. amqp.write_timeout => => 0
    [root@guangzhou etc]# systemctl restart php-fpm.service
  1.  

至此安装完成,最开始使用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. 详细nginx配置SSL

    1.nginx的ssl 让nginx实现用https来访问网站,http是80端口,https是443端口. https其实就是一种加密的http 2.为什么要加密 例子:在网上银行汇款,在你汇款的过 ...

  2. 让微信推送Jenkins构建消息

    Jenkins作为开发必备之神器,各家大小公司都在使用.Jenkins自身内置了基于邮件推送构建结果的功能.但是随着移动互联网的发展,邮件这玩意已经越来越少使用了,是否有一种办法能把jenkins构建 ...

  3. hibernate的查询方式的介绍(一)

    1.对象导航查询 2.OID查询 3.hql(hibernate query language)查询 4.QBC查询 5.本地sql查询 在这里先介绍其中两种 1.hibernate的对象导航查询 ( ...

  4. React-native ESLint & Prettier & Pre-commit Hook配置

    目录 前言 一 eslint 1.1. 局部安装eslint 1.2 初始化配置文件 1.3 安装步骤 1.3.1 ESLint 风格 选Use a popular style guide 1.3.2 ...

  5. HDU-1274

    在纺织CAD系统开发过程中,经常会遇到纱线排列的问题.  该问题的描述是这样的:常用纱线的品种一般不会超过25种,所以分别可以用小写字母表示不同的纱线,例如:abc表示三根纱线的排列:重复可以用数字和 ...

  6. MySql数据库之子查询和高级应用

    MySql数据库中的子查询: 子查询:在一条select查询语句中嵌套另一条select语句,其主要作用是充当查询条件或确定数据源. 代码案例如下: 例1. 查询大于平均年龄的学生: select * ...

  7. Selenium选择web元素

    获取html片段可以用来做什么? 可以用来分割,也可以分析HTML文档 beautifulsoup用法? 安装beautifulsoup库: pip install beautifulsoup4 因为 ...

  8. 基于iCamera测试mt9m034 1280X960 高动态相机模块小结

    基于iCamera测试mt9m034 高动态相机模块小结 首先看看此模块的特性 mt9m034 高动态 CMOS模块 1280*960像素 5.48 V/lux-sec >115db 摄像头模块 ...

  9. 1.1 Spring 概述

    1.1 Spring 概述 1.1.1 Spring 的简史 第一阶段:xml配置 Spring 1.x时代使用xml配置Bean 第二阶段:注解配置 Spring2.x  Spring 提供了声明B ...

  10. jquery查出元素名称

    <div onclick='$(this).prop("tagName")'></div> 最后的结果 DIV