我们公司的产品使用了erlang开发,可以在大多数的Linux发行版安装使用,我个人就在Ubuntu、Debian、SUSE等安装过。但客户使用的Linux发行版各种各样,网上环境也总是很诡异,期望一上线就可以使用那是妄想。
这2天客户就整了个很久没用的服务器给我们安装,这次情况真的是很不一样,我觉得有必要记录一下。

1. 系统是centos 4.4,已经停止了技术支持。

这个系统版本太低,导致了后面的一系列问题。

可能是因为当时的管理员不熟悉Linux,设置的分区更离谱,是我见过的最奇葩的分区方案。

整个/分区就给了1G的空间,注意,这还是包括了/home目录在内的分区。反正我在使用过程中,经常报错。

这样的分区方案很可能是因为考虑不足,然后后来发现分区不合理,然后随便配置了。其实这样的情况,应该使用lvm2,贴一下我的lvm方案。

这个是我的虚拟机,使用过程中发现了硬盘过小,然后加了后面的sda3,使用lvm2归并一起,挂载/分区。

2. 添加源

CentOS 4.x早已没有技术支持了,而且很多软件源不可用。查看了下面2个连接,配置了软件源。

centos 4.x不能yum问题解决

CentOS 4 终止生命周期(EOL) 通告

cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak
wget http://vault.centos.org/4.9/CentOS-Base.repo

然后更新yum缓存

yum clean all && yum clean metadata && yum clean dbcache && yum makecache

接着下载安装erlang源码编译的必要软件包,参考了

参考 CentOS(Fedora)下源代码编译安装 erlang 环境的 shell 脚本

yum install -y kernel-devel m4 fop ncurses-devel openssl-devel tk unixODBC unixODBC-devel

然后编译安装erlang。

3. mysql版本太低,添加centosplus源

原来的mysql版本是4.1.22, 我们的产品使用mysql的版本必须是5.0以上。继续折腾。
google了半天,发现在centosplus源有mysql 5.0的rpm包,但我们的源不会启用centosplus,查看了下面的

启用CentOS Plus

主要是设置enabled=1,下面贴一下我的repo配置:

additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://vault.centos.org/4.9/centosplus/$basearch/
gpgcheck=
enabled=
gpgkey=http://vault.centos.org/RPM-GPG-KEY-centos4
protect=
priority=

4. 停止iptables

使用setup命令行停止iptables,我们的产品可以使用了。

但第二天,服务器重启了,我们的产品又运行不行,发现还是iptables运行了,阻止了我们产品的网络连接。但我已经设置了iptables停止运行了的,什么情况?
查找了半天,原来是setup那里还有个防火墙配置问题。这里也要设置一下。

由于 ssh连接到4.4的服务器那个界面实在太难看,这里截图用的是6.5版本的centos界面,中文的。

5. erlang连接不了网络

# ./start.sh  live
{error_logger,{{,,},{,,}},"Protocol: ~p: register error: ~p~n",["inet_tcp",{{badmatch,{error,duplicate_name}},[{inet_tcp_dist,listen,},{net_kernel,start_protos,},{net_kernel,start_protos,},{net_kernel,init_node,},{net_kernel,init,},{gen_server,init_it,},{proc_lib,init_p_do_apply,}]}]}
{error_logger,{{,,},{,,}},crash_report,[[{initial_call,{net_kernel,init,['Argument__1']}},{pid,<0.20.>},{registered_name,[]},{error_info,{exit,{error,badarg},[{gen_server,init_it,},{proc_lib,init_p_do_apply,}]}},{ancestors,[net_sup,kernel_sup,<0.9.>]},{messages,[]},{links,[#Port<0.68>,<0.17.>]},{dictionary,[{longnames,true}]},{trap_exit,true},{status,running},{heap_size,},{stack_size,},{reductions,}],[]]}
{error_logger,{{,,},{,,}},supervisor_report,[{supervisor,{local,net_sup}},{errorContext,start_error},{reason,{'EXIT',nodistribution}},{offender,[{pid,undefined},{name,net_kernel},{mfa,{net_kernel,start_link,[['groupchat@127.0.0.1',longnames]]}},{restart_type,permanent},{shutdown,},{child_type,worker}]}]}
{error_logger,{{,,},{,,}},supervisor_report,[{supervisor,{local,kernel_sup}},{errorContext,start_error},{reason,shutdown},{offender,[{pid,undefined},{name,net_sup},{mfa,{erl_distribution,start_link,[]}},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]}]}
{error_logger,{{,,},{,,}},std_info,[{application,kernel},{exited,{shutdown,{kernel,start,[normal,[]]}}},{type,permanent}]}
{"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}}"} Crash dump was written to: erl_crash.dump
Kernel pid terminated (application_controller) ({application_start_failure,kernel,{shutdown,{kernel,start,[normal,[]]}}})

原来是epmd的问题,停了,再开就可以了。

# ps -ef|grep erl
root Mar20 ? :: /usr/lib/erlang/erts-5.7./bin/epmd -daemon
root : pts/ :: grep erl # kill -

总的来说,由于服务器太旧,导致源设置困难、软件版本低,然后centos的默认启用防火墙的问题,导致整个过程出现了很多问题。

centos 4.4配置使用的更多相关文章

  1. CentOS下Apache配置多域名或者多端口映射

    CentOS下Apache默认网站根目录为/var/www/html,假如我默认存了一个CI项目在html文件夹里,同时服务器的外网IP为ExampleIp,因为使用的是MVC框架,Apache需开启 ...

  2. CentOS 6.3配置PPTP VPN的方法

    1.验证ppp 用cat命令检查是否开启ppp,一般服务器都是开启的,除了特殊的VPS主机之外. [root@localhost1 /]# cat /dev/ppp cat: /dev/ppp: No ...

  3. 基于VMware为CentOS 6.5配置两个网卡

    为CentOS 6.5配置两块网卡,一块是eth0,一块是eth1,下面以master为例 1.选择“master”-->“编辑虚拟机设置”,如下所示 2.单击“添加”,如下 3.选择“网络适配 ...

  4. Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)

    Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)   关于LAMP的各种知识,还请大家自行百度谷歌,在这里就不详细的介绍了,今天主要是介绍一下在Centos下安装,搭建一 ...

  5. CentOS 6.5配置nfs服务

    CentOS 6.5配置nfs服务 网络文件系统(Network File System,NFS),一种使用于分散式文件系统的协议,由升阳公司开发,于1984年向外公布.功能是通过网络让不同的机器.不 ...

  6. CentOS安装与配置LNMP

    本文PDF文档下载:http://www.coderblog.cn/doc/Install_and_config_LNMP_under_CentOS.pdf 本文EPUB文档下载:http://www ...

  7. [转]CENTOS 6.5 配置YUM安装NGINX+服务器负载均衡

    原文连接: CENTOS 6.5 配置YUM安装NGINX  http://blog.sina.com.cn/s/blog_69f467b70102uyux.html 参考博文: Centos下安装. ...

  8. Tigase XMPP Server在CentOS部署和配置

    Tigase XMPP Server在CentOS部署与配置 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 以下讲述Tigase XMPP Server ...

  9. CentOS 7安装配置Apache HTTP Server

    原文 CentOS 7安装配置Apache HTTP Server   RPM安装httpd # yum -yinstall httpd //安装httpd会自动安装一下依赖包: apr apr-ut ...

  10. Centos中如何配置Texlive2013中文字体的问题

    Centos中如何配置Texlive2013中文字体的问题: 第一步是下载你需要的字体,我从windows/fonts中拷贝的比较多,你只要复制你需要的字体即可. 注意只要文件扩展名为ttf的文件,t ...

随机推荐

  1. Oracle RMAN 恢复数据库到不同主机(二)

    我们在recover database时报一个错误: RMAN-06054: media recovery requesting unknown archived log for thread 1 w ...

  2. 舌尖上的javascript数组和字符串基本操作

    Javascript数组基本操作 Javascript中的数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性,索引可能是整数,然而这些数字索引在内部被转换为字符串类型,这是因为javascrip ...

  3. springbatch入门练习(第一篇)

    先搞懂几个概念 Job Respository: 作业仓库,负责Job.Step执行过程中的状态保存 Job launcher: 作业调度器,提供执行Job的入口 Job:作业,由多个step组成,封 ...

  4. windows10+Python3.6+Anaconda3+tensorflow1.10.0配置和安装

    windows10+Python3.6+Anaconda3+tensorflow1.10.0# Anaconda3安装自行下载安装,之后dos或Anaconda Prompt终端查看Anaconda3 ...

  5. 几个PHP读取整个文件的函数readfile()、fpassthru()和file()

    2.7.4   读取整个文件:readfile().fpassthru()和file()除了可以每次读取文件一行外,还可以一次读取整个文件.PHP提供了4种不同的方式来读取整个文件.第一种方式是rea ...

  6. STS-使用前准备

    sts 的基础框架拿的eclipse的,你可以理解为eclipse + spring插件的高级升华版.在使用上可以很大限度的参考eclipse的操作. 首先,调整字体. 中文很麻烦的,因为编码问题.习 ...

  7. ASP.NET Core 中 HttpContext 详解与使用 | Microsoft.AspNetCore.Http 详解

    笔者没有学 ASP.NET,直接学 ASP.NET Core ,学完 ASP.NET Core MVC 基础后,开始学习 ASP.NET Core 的运行原理.发现应用程序有一个非常主要的 “传导体” ...

  8. ASP.NET Core MVC 模型绑定 (转载)

    ASP.NET Core MVC的Model Binding会将HTTP Request数据,以映射的方式对应到参数中.基本上跟ASP.NET MVC差不多,但能Binding的来源更多了一些.本篇将 ...

  9. 一键安装Docker图形化管理界面-Shipyard

    Shipyard是一款开源的图形化的Docker管理工具,记得以前安装很麻烦的,现在官方有了自动安装脚本,使用非常方便.复制.粘贴.使用,就这么简单.先不研究他是如何实现的,安装使用起来再说. $ c ...

  10. 关于docker构建镜像

    今天正好看到这一块了,记录一下,希望可以帮助到大家. 构建Dockerfile 先来看一个示例: --------------------------------------------------- ...