网站首页 > java教程 正文
一、概述
Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适合于构建分布式,实时软并行计算系统。使用Erlang编写出的应用运行时通常由成千上万个轻量级进程组成,并通过消息传递相互通讯。进程间上下文切换对于Erlang来说仅仅只是一两个环节,比起C程序的线程切换要高效得多得多了。使用Erlang来编写分布式应用要简单的多,因为它的分布式机制是透明的:对于程序来说并不知道自己是在分布式运行。
Erlang运行时环境是一个虚拟机,有点像Java虚拟机,这样代码一经编译,同样可以随处运行。它的运行时系统甚至允许代码在不被中断的情况下更新。另外如果你需要更高效的话,字节代码也可以编译成本地代码运行。
官网:https://www.erlang.org/
下载:https://www.erlang.org/downloads/
二、说明
1.安装Erlang需Java环境(JDK)(本文中省略安装JDK-v1.8.0_281步骤),若服务器无JAVA环境,需在./configure时加上参数--without-javac(不使用java虚拟机),否则会在./configure完成时出现如下图信息:
2.YUM安装的非最新版本。
三、源码编译安装
1.安装依赖包
①基础依赖
rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install gcc gcc-c++ glibc glibc-devel m4 ncurses ncurses-devel openssl openssl-devel perl binutils binutils-devel fop gtk3 gtk3-devel tk xmlto unixODBC unixODBC-devel
②安装wxWidgets库(http://www.wxwidgets.org/downloads/)
注:如不安装wxWidgets库,则erlang在./configure时会报如下错误。此错误也可忽略。
yum不是最新版本(yum -y install wxWidgets wxWidgets-devel),而且yum安装后,在编译erlang时还是会提示找不到wxWidgets。
yum -y install freeglut* gstreamer1* gstreamer-devel libnotify libnotify-devel libsecret libsecret-devel libtiff libtiff-devel mesa*
cd /data/tools
wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.4/wxWidgets-3.1.4.tar.bz2
tar jxf wxWidgets-3.1.4.tar.bz2
cd wxWidgets-3.1.4
./configure --with-opengl --enable-debug --enable-unicode --enable-compat28
make && make install
2.下载解压编译安装
cd /data/tools
wget https://erlang.org/download/otp_src_23.3.tar.gz
tar xf otp_src_23.3.tar.gz
cd otp_src_23.3
./configure --prefix=/usr/local/erlang --enable-threads --enable-smp-support --enable-kernel-poll --with-ssl --enable-m64-build --enable-hipe
make && make install
3.配置环境变量
vi /etc/profile
//文件末尾添加如下内容
######SET Erlang Environment
export PATH=$PATH:/usr/local/erlang/bin
## 生效环境变量
source /etc/profile
4.验证
## 查看版本及安装路径
erl -version
whereis erlang
## 输入命令erl,如下:
## 看到上图,说明ErLang环境是已经配置好了。输入 halt(). 退出erlang环境:
## 退出Erlang Shell的方法
①命令方式1:执行init:stop().
②命令方式2:执行halt().
③快捷键方式1:Control+C 然后选a
④快捷键方式2:Control+G 然后按q
四、YUM安装
参考:https://www.erlang-solutions.com/downloads/
1.安装依赖
软件包需要一些标准存储库中不存在的软件包。请确保系统中已启用EPEL存储库。CentOS 7系统默认启动已启用EPEL存储库。若没有则执行如下安装EPEL存储库的命令:
yum -y install epel-release
2.添加存储库
## 将Erlang Solutions存储库(包括用于验证已签名软件包的公共密钥)添加到系统
①使用RPM包
cd /data/tools
wget https://packages.erlang-solutions.com/erlang-solutions-2.0-1.noarch.rpm
rpm -Uvh erlang-solutions-2.0-1.noarch.rpm
②手动添加存储库条目
## RPM软件包已签名。添加Erlang Solutions密钥,请执行以下命令:
rpm --import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
## 在“/etc/yum.repos.d/”目录下添加一个文件“erlang.repo”,输入一下内容
[erlang-solutions]
name=CentOS $releasever - $basearch - Erlang Solutions
baseurl=https://packages.erlang-solutions.com/rpm/centos/$releasever/$basearch
gpgcheck=1
gpgkey=https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
enabled=1
## 生成缓存
yum clean all
yum makecache
3.安装Erlang
yum -y install erlang
或
yum -y install esl-erlang
备注:“esl-erlang”软件包是一个包含完整安装的文件:它包含Erlang / OTP平台及其所有应用程序。 “erlang”程序包是许多较小程序包的前端。目前,我们同时支持“erlang”和“esl-erlang”。请注意,拆分包具有多个优点:无缝替换可用的软件包,其他软件包依赖于“erlang”,而不是“esl-erlang”,如果磁盘空间不足,则可以摆脱一些未使用的部件; “基于erlang的”仅需要约13MB的空间。
4.验证
## 查看版本及安装路径
erl -version
whereis erlang
## 输入命令erl,如下:
## 看到上图,说明ErLang环境是已经配置好了。输入 halt(). 退出erlang环境:
## 退出Erlang Shell的方法
①命令方式1:执行init:stop().
②命令方式2:执行halt().
③快捷键方式1:Control+C 然后选a
④快捷键方式2:Control+G 然后按q
猜你喜欢
- 2024-12-29 使用Wordpress搭建一个属于自己的网站
- 2024-12-29 Centos 安装 Jenkins centos 安装黑屏
- 2024-12-29 原神服务端搭建教程centos系统 原神服务器在哪
- 2024-12-29 centos安装geoserver并配置开机启动
- 2024-12-29 Doris安装部署 doors安装
- 2024-12-29 Java快速开发框架若依(RuoYi)centos7.6部署
- 2024-12-29 浪潮服务器如何用IPMI安装Linux系统
- 2024-12-29 Centos7.4 Yapi 服务搭建 centos7.5服务器安装教程
- 2024-12-29 Pandownload开发者被抓!我决定用Docker搭建一个多端同步网盘!
- 2024-12-29 如何在Eclipse中搭建Zabbix源码的调试和开发环境
你 发表评论:
欢迎- 04-24Java Collections 工具类集合框架中常用算法解析
- 04-24桶排序的简单理解
- 04-24Java集合框架底层实现原理大揭秘
- 04-24Java 集合框架全面解析:选对数据结构,提升开发效率
- 04-24c#集合排序
- 04-24Java面试中常被问到的集合类深度解读
- 04-24VBA技术资料MF278:对集合进行排序
- 04-24Spring 最常用的 7 大类注解,史上最强整理
- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)