Erlang安装

1.RabbitMQ是基于Erlang的,所以首先必须配置Erlang环境.

从Erlang的官网http://www.erlang.org/download.html 下载最新的erlang安装包,Linux和MacOSX下载的版本是 http://www.erlang.org/download.html

2.然后解压下载的gz包 tar  -zxvf  *.tar.gz

3.cd 进入解压出来的文件夹

4.执行./configure --prefix=/opt/erlang  就会开始编译安装  会编译到 /opt/erlang 下 如果不报错就执行make 和 make install

5.如果报错:


6.[root@localhost ~]# yum install gcc

继续报错

redhat默认自带的yum源需要注册,才能更新,报错:
This system is not registered to Red Hat
Subscription Management. You can use subscription-manager to register.
可替换为centos对应的源。 操作如下:

1.检查是否安装yum包。查看RHEL是否安装了yum,若是安装了,那么又有哪些yum包:
    rpm -qa |grep yum

2 删除redhat自带的yum包
    rpm -qa|grep yum|xargs rpm -e
--nodeps(不检查依赖,直接删除rpm包)
    rpm -qa |grep yum (查询确认)
[iyunv@localhost ~]#

3.下载新的yum包。使用Centos6.5的yum包
    1) 查看版本号和系统类别:
        cat
/etc/redhat-release
        arch
    
    2)根据上一步,找到对应的yum包,然后下载。我的服务器对应的为:
wget http://mirrors.163.com/centos/6/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm

wget http://mirrors.163.com/centos/6/ yum-3.2.29-40.el6.centos.noarch.rpm
wget http://mirrors.163.com/centos/6/ yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm
    
    3)执行:
        rpm -ivh
yum-metadata-parser-1.1.2-16.el6.x86_64.rpm yum-3.2.29-40.el6.centos.noarch.rpm
yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm
        如果这一步报错,大底如下:
          
 libc.so.6 is needed by yum-metadata-parser-1.1.2-16.el6.i686
          
 libc.so.6(GLIBC_2.0) is needed by yum-metadata-parser-1.1.2-16.el6.i686
          
 libc.so.6(GLIBC_2.1.3) is needed by yum-metadata-parser-1.1.2-16.el6.i686
          
 libglib-2.0.so.0 is needed by yum-metadata-parser-1.1.2-16.el6.i686
          
 libpthread.so.0 is needed by yum-metadata-parser-1.1.2-16.el6.i686
          
 libpython2.6.so.1.0 is needed by yum-metadata-parser-1.1.2-16.el6.i686
          
 libsqlite3.so.0 is needed by yum-metadata-parser-1.1.2-16.el6.i686
          
 libxml2.so.2 is needed by yum-metadata-parser-1.1.2-16.el6.i686
          
 libxml2.so.2(LIBXML2_2.4.30) is needed by
yum-metadata-parser-1.1.2-16.el6.i686
        则说明下载安装的yum包与系统版本不匹配,需要重新下载安装。另外,163镜像站点对于6.0~6.5的资源均合并在6的目录下。
        
    4)更换yum源,将原有源删除或备份到别的目下下:
        cd /etc/yum.repos.d/
    
   wget  
http://mirrors.163.com/.help/CentOS6-Base-163.repo
        vi
CentOS6-Base-163.repo
        编辑文件,把文件里面的$releasever全部替换为版本号:6(注意,不是6.5!)最后保存!
    
4.清除原有缓存,重建缓存:
    clean all
    yum makecache
    
5.更新系统:
    yum update

6. [root@localhost
~]# yum install gcc

至此,如果不报错说明GCC安装成功

重新开始安装erlang

参考http://blog.csdn.net/chszs/article/details/28638305

Erlang目前已经是Fedora和Debian/Ubuntu软件仓库中的一部分。

Erlang目前最新的版本是OTP 18.2。Erlang是一种编程语言,用于构建大规模、高可伸缩性、高可用性的软实时系统的编程语言。它已经在电信、金融、电子商务、网络电话和即时消息中得到应用。Erlang的运行时系统已经内建了对并发、分布式和容错的支持。

OTP是Erlang库和设计原则的集合,提供了开发各种系统的中间件。它包含了自己的分布式数据库、面向其它编程语言的接口、调试和发布处理工具等。

BEAM是Erlang代码执行所需的虚拟机。Erlang代码编译后的扩展名为.beam。ERTS是Erlang的运行时系统,他包括了BEAM、内核和标准库等组件。

官方推荐从源码安装Erlang,因此下面开始从源码安装OTP 18.2。

下载OTP 18.2源码:http://www.

.org/download/otp_src_18.2.1.tar.gz

# tar zvxf
otp_src_18.2.tar.gz

# mv otp_src_18.2/ otp

# cd otp

# ./configure --prefix=/opt/erlang
--without-javac

报错:
configure: error: No curses library functions
found
configure: error: /bin/sh
'/root/otp/erts/configure' failed for erts

# yum -y install
ncurses-devel

# ./configure --prefix=/opt/erlang
--without-javac

 

 

报错
*********************************************************************
**********************  APPLICATIONS
DISABLED  **********************
*********************************************************************
crypto         : No usable
OpenSSL found
jinterface     : Java compiler
disabled by user
odbc           : ODBC
library - link check failed
orber          : No C++
compiler found
ssh            :
No usable OpenSSL found
ssl            :
No usable OpenSSL found
*********************************************************************

# yum list | grep ssl

# yum install openssl-devel

# ./configure --prefix=/opt/erlang --without-javac

 

# yum list | grep ODBC

# yum install unixODBC-devel

# ./configure --prefix=/opt/erlang --without-javac

# yum install gcc-c++

# ./configure --prefix=/opt/erlang --without-javac

# make

# make install

 

#  /opt/erlang/bin/erl

Erlang/OTP 17 [erts-6.0] [source] [64-bit]
[async-threads:10] [hipe] [kernel-poll:false]

 

Eshell V6.0  (abort with ^G)

1> EvenN = lists:filter (fun (N) -> N rem 2
== 0 end, lists:seq(1,100)).

[2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,

 44,46,48,50,52,54,56,58|...]

 

有几种退出Erlang Shell的方法

命令方式1:执行init:stop().   
命令方式2:执行halt(). 
快捷键方式1:Control+C 然后选a
快捷键方式2:Control+G 然后按q

 

 

 

  1. 编译完成以后,进入/opt/erlang,输入erl测试erlang是否安装成功。
  2. 修改/etc/profile文件,增加下面的环境变量:
  3. #set erlang environment
  4. export PATH=$PATH:/opt/erlang/bin
  5. source profile使得文件生效
  6. 肯能会出现找不到包的情况,就直接yum install 吧

 

修改/etc/profile文件,增加下面的环境变量

ERL_HOME=/opt/erlang

PATH=$ERL_HOME/bin:$PATH

export
ERL_HOME PATH

【安装总结】

从源码编译安装Erlang,有两个库或工具是必须的:

一是完整的GCC编译器环境
二是Ncurses开发库

还有一些库或工具,如果没有它们,在编译配置时会出现警告信息,而且可能不能通过配置。这些库有:

1)OpenSSL开发库

2)ODBC开发库

3)Java编译器

 

http://www.rabbitmq.com/download.html

二.安装RabbitMQ

  1. rpm --import
    https://www.rabbitmq.com/rabbitmq-signing-key-public.asc

yum install
rabbitmq-server-3.6.0-1.noarch.rpm

  1. wget -c http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.0/rabbitmq-server-3.6.0-1.noarch.rpm

yum install
rabbitmq-server-3.6.0-1.noarch.rpm

上面这两条语句任意一条就可以安装成功:

但是我在安装rabbitmq-server的过程中遇到了一个问题:

Error: Package: rabbitmq-server-3.6.0-1.noarch (/rabbitmq-server-3.6.0-1.noarch) 
Requires: erlang >= R16B-3 
You could try using --skip-broken to work around the problem 
You could try running: rpm -Va --nofiles --nodigest

这是由于erlang的版本问题,其实是没有影响的,你可以使用rpm -ivh
--nodeps rabbitmq-server-3.6.0-1.noarch.rpm安装。

 

 

 

如果没有安装成功:就用下面的绝招

rabbitmq安装配置

  1. rabbitmq的安装有很多版本,我们使用Generic Unix版本。
  2. cd /
  3. wget http://www.rabbitmq.com/releases/rabbitmq-server/v2.7.1/rabbitmq-server-generic-unix-2.7.1.tar.gz下载rabbitmq
  4. tar zxvf rabbitmq-server-generic-unix-2.7.1.tar.gz -C /opt解压到指定的文件夹下
  5. cd /opt,建立软链接ln -s rabbitmq-server-generic-unix rabbitmq
  6. cd rabbitmq/sbin,./rabbitmq-server -detached可以实现后台启动
  7. 修改/etc/profile,添加环境变量
  8. #set rabbitmq environment
  9. export PATH=$PATH:/opt/rabbitmq/sbin
  10. source profile使得文件生效
  11. cd /opt/rabbitmq/sbin,./rabbitmqctl stop关闭rabbitmq
  12. 这样就完成了安装
  13. 启用管理方式(用网页方式管理MQ)cd /opt/rabbitmq/sbin/
  14. 执行./rabbitmq-plugin
    enable rabbitmq-management
  15. 然后访问http://localhost:55672

 

.如果安装成服务的就用这个来启动

[root@master ~]# service rabbitmq-server restart

WARNING: ignoring /etc/rabbitmq/rabbitmq.conf --
location has moved to /etc/rabbitmq/rabbitmq-env.conf

Restarting rabbitmq-server: FAILED - check
/var/log/rabbitmq/shutdown_log, _err

SUCCESS

rabbitmq-server.

[root@master ~]#

RPM安装的,那就启动进程,启动控制台插件就可以了

./rabbitmqctl status

./rabbitmqctl status

./rabbitmq-server –detached

启动 控制台插件

[root@slave5 bin]# ./rabbitmq-plugins enable rabbitmq_management

[root@ master ~]# /sbin/service rabbitmq-server start

Starting rabbitmq-server: SUCCESS

rabbitmq-server.

对应的关闭命令为:/sbin/service rabbitmq-server stop

5、管理

Rabbitmq服务器的主要通过rabbitmqctl和rabbimq-plugins两个工具来管理,以下是一些常用功能。

1). 服务器启动与关闭

启动: rabbitmq-server –detached

关闭:rabbitmqctl stop

若单机有多个实例,则在rabbitmqctlh后加–n 指定名称

2). 插件管理

开启某个插件:rabbitmq-pluginsenable xxx

关闭某个插件:rabbitmq-pluginsdisablexxx

注意:重启服务器后生效。

3).virtual_host管理

新建virtual_host: rabbitmqctladd_vhost 
xxx

撤销virtual_host:rabbitmqctl 
delete_vhost xxx

4). 用户管理

新建用户:rabbitmqctl add_user xxxpwd

删除用户:   rabbitmqctl delete_user xxx

改密码: rabbimqctlchange_password {username}
{newpassword}

设置用户角色:rabbitmqctlset_user_tags {username} {tag
...}

Tag可以为 administrator,monitoring, management

5). 权限管理

权限设置:set_permissions [-pvhostpath] {user}
{conf} {write} {read}

Vhostpath

Vhost路径

user

用户名

Conf

一个正则表达式match哪些配置资源能够被该用户访问。

Write

一个正则表达式match哪些配置资源能够被该用户读。

Read

一个正则表达式match哪些配置资源能够被该用户访问。

6). 获取服务器状态信息

服务器状态:rabbitmqctl status

队列信息:rabbitmqctl list_queues[-p vhostpath]
[queueinfoitem ...]

Queueinfoitem可以为:name,durable,auto_delete,arguments,messages_ready,

messages_unacknowledged,messages,consumers,memory

Exchange信息:rabbitmqctllist_exchanges[-p vhostpath] [exchangeinfoitem
...]

Exchangeinfoitem有:name,type,durable,auto_delete,internal,arguments.

Binding信息:rabbitmqctllist_bindings[-p vhostpath]
[bindinginfoitem ...]

Bindinginfoitem有:source_name,source_kind,destination_name,destination_kind,routing_key,arguments

Connection信息:rabbitmqctllist_connections [connectioninfoitem ...]

Connectioninfoitem有:recv_oct,recv_cnt,send_oct,send_cnt,send_pend等。

Channel信息:rabbitmqctl  list_channels[channelinfoitem ...]

Channelinfoitem有consumer_count,messages_unacknowledged,messages_uncommitted,acks_uncommitted,messages_unconfirmed,prefetch_count,client_flow_blocked

常用命令:

查看所有队列信息

# rabbitmqctl list_queues

关闭应用

# rabbitmqctl stop_app

启动应用,和上述关闭命令配合使用,达到清空队列的目的

# rabbitmqctl start_app

清除所有队列

# rabbitmqctl reset

更多用法及参数,可以执行如下命令查看

# rabbitmqctl

3.rabbitmq常用命令

rabbitmq-server start
 或者   service rabbitmq-server start     #启动rabbitmq

rabbitmqctl
list_exchanges

rabbitmqctl
list_bindings

rabbitmqctl
list_queues #分别查看当前系统种存在的Exchange和Exchange上绑定的Queue信息。

rabbitmqctl status
 #查看运行信息

rabbitmqctl stop
    #停止运行rabbitmq

rabbitmq-plugins
enable rabbitmq_management

#启动rabbitmq的图形管理界面,这个操作必须重启rabbitmq, 然后在web中
http://127.0.0.1:15672 用户名和密码都是guest guest。如果局域网无法访问设置防火墙过滤规则或关闭防火墙。

Linux下 RabbitMQ的安装与配置-3的更多相关文章

  1. Linux下 RabbitMQ的安装与配置

    以下教程摘录自互联网并做了适当修改,测试的rabbitmq 版本为:rabbitmq-server-generic-unix-3.5.6 各版本之间会有差异!!! 一  Erlang安装 Rabbit ...

  2. Linux下Qt的安装与配置

    参考资料:http://www.cnblogs.com/emouse/archive/2013/01/28/2880142.html Linux 下编译.安装.配置 QT 下载qt 这里用的是4.7. ...

  3. Linux 下编译、安装、配置 QT

    转自Linux 下编译.安装.配置 QT 注意:编译安装耗时费力,且很容易出错,要不断调整编译参数,不推荐使用,否则这将会是一个纠结痛苦的过程. 打算做嵌入式图像处理,计划方案嵌入式Linux+Ope ...

  4. .Neter玩转Linux系列之六:Linux下MySQL的安装、配置、使用

    一.Linux安装MySQL (1)下载安装包:https://dev.mysql.com/downloads/mysql/ (2)解压并安装 命令:tar zxvf 文件名 解压完成之后,重名一下文 ...

  5. linux下svn的安装与配置

    ---恢复内容开始--- linux下svn的安装与配置 Linux发行版本:CentOS6.5 1.安装subversion sudo yum -y install subversion 2.创建s ...

  6. linux下redis的安装及配置启动

    linux下redis的安装及配置启动 标签: redisnosql 2014-10-24 14:04 19732人阅读 评论(0) 收藏 举报  分类: 数据与性能(41)  wget http:/ ...

  7. linux下vsftpd的安装及配置使用详细步骤(推荐)

    vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点. vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux.BS ...

  8. 莫小安 Linux下Redis的安装与配置

    转载自--Linux下Redis的安装与配置 redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了 memcached的不足,它 ...

  9. Linux下的Maven安装与配置

    关于Maven的介绍可以参考:Maven详解 这篇在原理上讲得比较详细,在安装上是windows版本的,这里补上linux下的安装和配置: 1.下载maven安装包 http://maven.apac ...

随机推荐

  1. 电话薄设计--java

    package com.hanqi.telbook; import java.util.Scanner; public class Menu { //主菜单 public void mainMenu( ...

  2. MySQL基础学习(一) 命令行命令

    1. 命令行登录 mysql -uroot -p 按照提示输入密码 常用登录选项 -u 指定用户 -p 密码 -h 数据库所在主机 -P 端口 -D 指定数据库 2.命令行退出 exit quit \ ...

  3. activiti入门

    一.Activiti简介 Activiti 是一个针对商务人士. 开发人员和系统管理员的轻量级的工作流和业务流程管理 (BPM) 平台.它的核心是Java的高速和可靠的 BPMN 2 流程引擎.它是开 ...

  4. STM32重映射(PinRemap)的使用,注意!

    STM32重映射,内容和细节稍后补充,这里只说几个注意点,花了我一晚上的时间调试终于找到问题所在了... 芯片: STM32f107vct6 晶振: 25M 通过分频器与锁相环,使系统时钟为72M 背 ...

  5. Ajax请求利用jsonp实现跨域

    跨域: js有一个同源限制,简单说来源不一样的话就无法相互间交互.那么怎么算来源不一样呢, 举个例子:浏览器访问-->服务器A--->得到页面A---页面A中的js脚本只能访问服务器A的资 ...

  6. [转]How to open specific page in the application by clicking on the notification

    本文转自:https://github.com/phonegap-build/PushPlugin/issues/213 问:Hello, I would like to know how can I ...

  7. AC日记——字符串判等 openjudge 1.7 17

    17:字符串判等 总时间限制:  1000ms 内存限制:   65536kB 描述 判断两个由大小写字母和空格组成的字符串在忽略大小写,且忽略空格后是否相等. 输入 两行,每行包含一个字符串. 输出 ...

  8. Linux下mysql新建账号及权限设置

    http://www.cnblogs.com/eczhou/archive/2012/07/12/2588187.html 1.权限赋予 说明:mysql部署在服务器A上,内网上主机B通过客户端工具连 ...

  9. J2EE中关于tomcat的maxIdle、maxActive、maxActive相关配置

    一.基本概念 1 maxActive 连接池的最大数据库连接数.设为0表示无限制,一般把maxActive设置成可能的并发量就行了 2 maxIdle 最大的空闲连接数 3 maxWait 最大建立连 ...

  10. Android M新的运行时权限开发者需要知道的一切

    android M 的名字官方刚发布不久,最终正式版即将来临!android在不断发展,最近的更新 M 非常不同,一些主要的变化例如运行时权限将有颠覆性影响.惊讶的是android社区鲜有谈论这事儿, ...