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下安装配 ...
随机推荐
- 详细nginx配置SSL
1.nginx的ssl 让nginx实现用https来访问网站,http是80端口,https是443端口. https其实就是一种加密的http 2.为什么要加密 例子:在网上银行汇款,在你汇款的过 ...
- 让微信推送Jenkins构建消息
Jenkins作为开发必备之神器,各家大小公司都在使用.Jenkins自身内置了基于邮件推送构建结果的功能.但是随着移动互联网的发展,邮件这玩意已经越来越少使用了,是否有一种办法能把jenkins构建 ...
- hibernate的查询方式的介绍(一)
1.对象导航查询 2.OID查询 3.hql(hibernate query language)查询 4.QBC查询 5.本地sql查询 在这里先介绍其中两种 1.hibernate的对象导航查询 ( ...
- 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 ...
- HDU-1274
在纺织CAD系统开发过程中,经常会遇到纱线排列的问题. 该问题的描述是这样的:常用纱线的品种一般不会超过25种,所以分别可以用小写字母表示不同的纱线,例如:abc表示三根纱线的排列:重复可以用数字和 ...
- MySql数据库之子查询和高级应用
MySql数据库中的子查询: 子查询:在一条select查询语句中嵌套另一条select语句,其主要作用是充当查询条件或确定数据源. 代码案例如下: 例1. 查询大于平均年龄的学生: select * ...
- Selenium选择web元素
获取html片段可以用来做什么? 可以用来分割,也可以分析HTML文档 beautifulsoup用法? 安装beautifulsoup库: pip install beautifulsoup4 因为 ...
- 基于iCamera测试mt9m034 1280X960 高动态相机模块小结
基于iCamera测试mt9m034 高动态相机模块小结 首先看看此模块的特性 mt9m034 高动态 CMOS模块 1280*960像素 5.48 V/lux-sec >115db 摄像头模块 ...
- 1.1 Spring 概述
1.1 Spring 概述 1.1.1 Spring 的简史 第一阶段:xml配置 Spring 1.x时代使用xml配置Bean 第二阶段:注解配置 Spring2.x Spring 提供了声明B ...
- jquery查出元素名称
<div onclick='$(this).prop("tagName")'></div> 最后的结果 DIV