erlang安装

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

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

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

BEAM是Erlang代码执行所需的虚拟机。Erlang代码编译后的扩展名为.beam。ERTS是Erlang的运行时系统,他包括了BEAM、内核和标准库等组件。
官方推荐从源码安装Erlang,因此下面开始从源码安装OTP 17.0。
下载OTP 17.0源码:http://www.erlang.org/download/otp_src_17.0.tar.gz
[html]  view plain copy
  1. # tar zvxf otp_src_17.0.tar.gz  
  2. # mv otp_src_17.0/ otp  
  3. # cd otp  
  4. # ./configure --prefix=/home/erlang --without-javac  

安装Erlang对环境有要求,为防止在编译的时候提示某些软件包未安装之类的错误,所以我将Erlang需要的软件提前安装,直接使用yum进行安装即可

yum -y install make ncurses-devel gcc gcc-c++ unixODBC unixODBC-devel openssl openssl-devel  


报错:

configure: error: No curses library functions found
configure: error: /bin/sh '/root/otp/erts/configure' failed for erts
[html]  view plain copy
  1. # yum -y install ncurses-devel  
  2. # ./configure --prefix=/data/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
*********************************************************************
[html]  view plain copy
  1. # yum list | grep ssl  
  2. # yum install openssl-devel  
  3. # ./configure --prefix=/data/erlang --without-javac  
报错
*********************************************************************
**********************  APPLICATIONS DISABLED  **********************
*********************************************************************
jinterface     : Java compiler disabled by user
odbc           : ODBC library - link check failed
orber          : No C++ compiler found
*********************************************************************
[html]  view plain copy
  1. # yum list | grep ODBC  
  2. # yum install unixODBC-devel  
  3. # ./configure --prefix=/data/erlang --without-javac  
报错
*********************************************************************
**********************  APPLICATIONS DISABLED  **********************
*********************************************************************
jinterface     : Java compiler disabled by user
orber          : No C++ compiler found
*********************************************************************
[html]  view plain copy
  1. # yum install gcc-c++  
  2. # ./configure --prefix=/data/erlang --without-javac  
  3. # make  
  4. # make install  
安装完成!
测试Erlang是否安装正确
[html]  view plain copy
  1. /data/erlang/bin/erl  
  2. Erlang/OTP 17 [erts-6.0] [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]  
  3.   
  4. Eshell V6.0  (abort with ^G)  
  5. 1> EvenN = lists:filter (fun (N) -> N rem 2 == 0 end, lists:seq(1,100)).  
  6. [2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,  
  7.  44,46,48,50,52,54,56,58|...]  
  8. 2> halt().  
在PATH环境变量添加Erlang的bin路径,以便执行。

【安装总结】

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

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

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

1)OpenSSL开发库

2)ODBC开发库

3)Java编译器


rabbitmq 安装

去官网下载安装包:https://www.rabbitmq.com/download.html

下载完成后安装:

[root@iZ250x18mnzZ ~]# rpm -i rabbitmq-server-3.6.0-1.noarch.rpm  

warning: rabbitmq-server-3.6.0-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID 056e8e56: NOKEY  

error: Failed dependencies: 

erlang >= R16B-03 is needed by rabbitmq-server-3.6.0-1.noarch  

上述错误信息显示安装失败,因为rabbigmq的依赖关系所导致,所以要忽略依赖,执行以下命令

rpm -i --nodeps rabbitmq-server-3.6.0-1.noarch.rpm  



完成后启动服务:

service rabbitmq-server start

可以查看服务状态:

service rabbitmq-server status

安装rabbitmq的时候注意两点:

一、如果执行rabbitmqctl报错,vi这个文件在上面加上
ERLANG_HOME=/data/erlang
export PATH=$PATH:$ERLANG_HOME/bin内容

二、如果启动报./rabbitmq-server: line 80: erl: command not found错误,没有配置erl环境变量

在/etc/profile文件里加上

#set erlang environment 
export PATH=$PATH:/data/erlang/bin

#set rabbitmq environment 
export PATH=$PATH:/data/software/rabbit/rabbitmq/sbin

然后在当前命令窗口执行source /etc/profile让配置生效(一定是当前窗口命令)

你可能感兴趣的:(java)