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下安装配 ...
随机推荐
- react-starter-projects
react-starter-projects These are repositories that you copy and modify to create your own React app. ...
- 不服跑个分:ARM鲲鹏云服务器实战评测——华为云鲲鹏KC1实例 vs. 阿里云G5实例【华为云技术分享】
原文链接:https://m.ithome.com/html/444828.htm 今年一月份,华为正式发布了鲲鹏920数据中心高性能处理器,该处理器兼容ARM架构,采用7纳米制造,最高支持64核,主 ...
- 华为云EI人脸识别接口初探
0. 准备工作 开户及申请开通人脸识别服务,可以参考https://education.huaweicloud.com:8443/courses/course-v1:HuaweiX+CBUCNXE01 ...
- 区块链学习笔记:DAY01 区块链的技术原理
其实很早之前就听过区块链,也看过有关区块链的介绍,那个时候的理解主要还是一句话:分布式记账 然后开始关注比特币,听了有几年了,对于其来历.用途其实一直都是一知半解. 这次的课算是第一次以一个学员的身份 ...
- 转:使用JSR-303进行校验 @Valid
一.在SringMVC中使用 使用注解 1.准备校验时使用的JAR validation-api-1.0.0.GA.jar:JDK的接口: hibernate-validator-4.2.0.Fina ...
- spring-MVC_笔记
需求:客户端发起请求,服务器端接收请求,执行逻辑并进行视图跳转. ①导入SpringMVC相关坐标②配置SpringMVC核心控制器DispathcerServlet ③创建Controller类和视 ...
- 【java基础】Thread类之join方法
- 【解决】error pulling image configuration: Get https:// ...... x509: certificate has expired or is not yet valid
[问题]进行镜像拉取时报错 [分析] 很多人会被第一句所蒙蔽,按照网上教程进行修改etc/sysconfig/docker,之后发现还是没有用. 其实这里重点是最后一句"certificat ...
- HihoCoder1466-后缀自动机六·重复旋律9
小Hi平时的一大兴趣爱好就是演奏钢琴.我们知道一段音乐旋律可以被表示为一段字符构成的字符串. 现在小Hi已经不满足于单单演奏了!他通过向一位造诣很高的前辈请教,通过几周时间学习了创作钢琴曲的基本理论, ...
- R语言主成分分析(PCA)
数据的导入 > data=read.csv('F:/R语言工作空间/pca/data.csv') #数据的导入> > ls(data) #ls()函数列出所有变量 [1] " ...