编译安装rabbitmq服务端
有一种方式是:下载rabbitmq-server-generic-unix压缩包,是不用编译的。是已经编译好的源码了
下面介绍编译源码安装
总括:
需要以下步骤:
1、安装erlange。因为rabbitmq是使用erlange语言编写。所以需要安装erlange。
2、安装python。自动化安装脚本是使用一个python脚本-setup.py来自动安装。所以要能够运行python语言。
3、安装simplejson.py
官网提到了:RabbitMQ requires a recent version of Python and simplejson.py (an implementation of a JSON reader and writer in Python), for generating AMQP framing code. simplejson.py is included as a standard json library in the Python core since 2.6 release.
4、编译rabbitmq源码
二、安装步骤
1、编译安装erlange
下载源码:http://www.erlang.org/
解压erlange源码压缩包
cd 源码目录
./configure --prefix=指定安装目录
make && make install
2、编译安装python
官网下载源码:https://www.python.org/
下载2.7.x版本。我下载的是2.7.10版本。3.x版本有些软件还不支持。
解压源码
cd 源码目录
./configure --prefix=指定安装目录
make && make install
3、安装simplejson
下载地址:https://pypi.python.org/pypi/simplejson
$ tar xvzf 源码压缩包
$ cd 源码目录
$ sudo /usr/local/python/2.7.10/bin/python2.7 setup.py install
成功后如下图:
4、安装rabbmitmq服务端
官方安装手册:http://www.rabbitmq.com/build-server.html
下载RabbitMQ 3.1.5的源码包
解压源码包
cd 源码包目录
make
sudo make TARGET_DIR=/usr/local/rabbitmq/3.1.5 SBIN_DIR=/usr/local/rabbitmq/3.1.5/sbin MAN_DIR=/usr/local/rabbitmq/3.1.5/man install
#TARGET_DIR是指定将源码安装到哪个目录去。TARGET_DIR最好是填写TARGET_DIR下的一个目录
#安装成功后,去SBIN_DIR指定的目录,即/usr/local/rabbitmq/3.1.5/sbin,会看到编译生成好的rabbitmq-server、rabbitmqctl等文件。
启动
./rabbitmq-server
测试是否成功的办法:telnet ip 端口
telnet 127.0.0.1 5672
启动的时候,如果没有使用-c指定配置文件路径,默认是去
:/etc/rabbitmq/
一般情况下,RabbitMQ的默认配置就足够了。如果希望特殊设置的话,有两个途径:
一个是环境变量的配置文件 rabbitmq-env.conf ;
一个是配置信息的配置文件 rabbitmq.config;
注意,这两个文件默认是没有的,如果需要必须自己创建。
停止:
./rabbitmqctl stop
启用插件
./rabbitmq-plugins enable rabbitmq_management
management UI是static HTML页面,其通过Javascript查询HTTP API得到实时数据。实质上Web UI最终也是调用的Management command line tool
访问web监控界面
The web UI is located at: http://server-name:15672/
The port for RabbitMQ versions prior to 3.0 is 55672.
实际上是rabbitmq安装了一个web服务。它侦听端口15672,所以能够访问这个端口。
默认登录帐号是:guest/guest
编译rabbitmq会遇到不少的问题。
总结如下:
1、需要安装xmlto命令
没有会报错:/bin/sh: line 1: xmlto: command not found
使用yum命令去网络安装这个命令
yum install xmlto
2、make erl command not found
安装脚本会用到erl命令。erl就是erlange的简写。
在安装脚本中,使用的命令是erl。默认是去/usr/bin/erl下寻找。
由于,前面编译安装erlange的时候,使用--prefix参数,将erlang安装到了指定的目录了,而不是使用默认的路径。但是这会导致后面 rabbitMQ报错:找不到erl 执行文件。
解决办法:
sudo ln -s /usr/local/erlange/17.5/bin/erl /usr/bin/erl
3、/bin/sh: escript: command not found
解决办法:
sudo ln -s /usr/local/erlange/17.5/bin/escript /usr/sbin/escript
4、make: erlc: Command not found
解决办法:
sudo ln -s /usr/local/erlange/17.5/bin/erlc /usr/bin/erlc
附:资料收集
1、插件下载地址:http://www.rabbitmq.com/community-plugins/
2、如何配置帐号的文章
http://my.oschina.net/fhd/blog/375620
http://www.cnblogs.com/AloneSword/p/4200051.html 这篇文章讲解了各种用户角色,已经如何用命令添加用户、设置用户所属角色,用户的权限
3、官网:http://www.rabbitmq.com
4、php操作rabbitmq的资料,通过安装一个php-amqp扩展
http://nonfu.me/p/8833.html
编译安装rabbitmq服务端相关推荐
- 安装Kerberos服务端和客户端
简介 Kerberos认证流程 环境准备 安装Kerberos服务端 yum安装 yum install krb5-server krb5-libs krb5-workstation -y vim / ...
- Linux下yum安装SVN服务端
Linux下yum安装SVN服务端 1.查看yum是否安装 2.安装svn 3.创建目录并配置 4.用户密码passwd配置 5.权限控制authz配置 6.服务svnserve.conf配置 7.启 ...
- Trinity-Core源码更新-编译环境配置-服务端运行等集中教学帖
转自:http://www.pandria.net/moshousifujishu/wow_7414.html 这个过程并不算短,但可以让你对服务器的开发拥有最高等级的控制力.如果你希望开发一个魔兽世 ...
- epel源mysql版本_linux增加epel源,yum安装nignx,脚本安装mysql服务端,shell脚本监控网站页面...
epel是一种yum仓库,里面提供了更多.更丰富linux软件,但是,它不是默认yum仓库,我们需要手工添加这个yum源. 添加epel源 然后,找到fedora-epel, 在列表里找到:6serv ...
- mac bash file密码_Mac系统 | 菜鸟程序员项目模拟数据迁移,会安装Mysql服务端吗
在中小公司做项目,关系型数据库一般用的比较多的是MySQL.项目从开发到上线的过程中,公司会提供虚拟机服务器数据库中的数据给自己进行本地开发和测试.在开发过程中,我也发现公司只是提供数据库服务端的ip ...
- linux增加epel源,yum安装nignx,脚本安装mysql服务端,shell脚本监控网站页面
epel是一种yum仓库,里面提供了更多.更丰富linux软件,但是,它不是默认yum仓库,我们需要手工添加这个yum源. 添加epel源 参考:http://freeloda.blog.51cto. ...
- Docker快速安装RabbitMQ服务
Docker快速安装RabbitMQ服务 快速开始 #!/bin/bash # 建议保存为start.sh脚本执行 docker run -d --hostname my-rabbit --name ...
- CentOS 7下安装pptp服务端手记
主要配置步骤 安装前检查系统支持 a. 在安装之前查看系统是否支持PPTP modprobe ppp-compress-18 && echo success 应该输出:success ...
- Win7下安装SVN服务端
目录 背景 svn安装包 操作步骤 1.创建仓库 2.基础设置 创建服务 开放端口 参考文献 背景 因为同事的苹果本无法修改mac地址连接内网,无论下驱动也好,命令方式也好,都无法修改mac,打客户电 ...
最新文章
- Java Mocking入门—使用Mockito
- Could not write JSON: Infinite recursion (StackOverflowError);
- VTK:可视化之SelectWindowRegion
- Linux 编译 libc log,在Android的源码中添加LOG
- 亚马逊云服务开通指南_亚马逊弹性容器服务初学者指南
- Unreal Engine 4 —— 使用反汇编来确定该进行优化的地方
- 《算法设计》求单峰数组
- varchar长度可以任意设置吗_户内金属软管长度可以超过2m吗?
- 码怪之程序员的日常语录
- npm ERR! File exists: /XXX/xxx npm ERR! Move it away, and try again.
- android高仿股票源码,StockChart 自定义股票行情图,高仿某币 app 行情图 @codeKK Android开源站...
- SGE上的qsub以及作业的状态查看
- hdu5651 xiaoxin juju needs help(组合数学)
- Axure与markman
- 太可怕啦!AI 一秒还原马赛克,有码变高清
- SAST、DAST、IAST几种测试工具的比较
- Markdown表格、单元格合并、快速编辑表格
- vue引入51la流量监控
- 杰里695N系列(soundbox)之0.0 开发环境搭建
- 关于相机飞拍和IO板卡触发拍照
热门文章
- linux 系统 RRDTool安装方法
- 闲谈IPv6-典型特征的一些技术细节
- (论坛答疑点滴)为什么设置了DropDownList的AutoPostBack=True还是不能触发SelectedIndexChanged事件?...
- spring@Transactional注解事务不回滚不起作用无效的问题处理
- 理解学习this指向问题
- 超级队长VR线下体验店落地上海,让娱乐突破想象
- Swift中 !和 ?的区别及使用与Swift的Guard语句
- 文件系统的两种文件索引模式extent和blockmap
- 集成Java内容仓库和Spring
- 设备树学习之(二)点灯【转】