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
安装Erlang对环境有要求,为防止在编译的时候提示某些软件包未安装之类的错误,所以我将Erlang需要的软件提前安装,直接使用yum进行安装即可
yum -y install make ncurses-devel gcc gcc-c++ unixODBC unixODBC-devel openssl openssl-devel
报错:
configure: error: No curses library functions foundconfigure: error: /bin/sh '/root/otp/erts/configure' failed for erts
报错
*********************************************************************
********************** 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
*********************************************************************
报错
*********************************************************************
********************** APPLICATIONS DISABLED **********************
*********************************************************************
jinterface : Java compiler disabled by user
odbc : ODBC library - link check failed
orber : No C++ compiler found
*********************************************************************
报错
*********************************************************************
********************** APPLICATIONS DISABLED **********************
*********************************************************************
jinterface : Java compiler disabled by user
orber : No C++ compiler found
*********************************************************************
安装完成!
测试Erlang是否安装正确
在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让配置生效(一定是当前窗口命令)