我们公司的产品使用了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. SDOI 2018 R2 游记

    一篇真正的“游记”. DAY -3 下午: 今天老师批准了我去省选划水的请假要求. 批准之后感觉学习非常有动力,顺便忽悠别的同学和我一起去,然而wzx是唯一一个表示可以考虑一下的同学,其他同学直接一口 ...

  2. BZOJ2744:[HEOI2012]朋友圈(最大团,乱搞)

    Description 在很久很久以前,曾经有两个国家和睦相处,无忧无虑的生活着.一年一度的评比大会开始了,作为和平的两国,一个朋友圈数量最多的永远都是最值得他人的尊敬,所以现在就是需要你求朋友圈的最 ...

  3. 用ASP.NET Web API技术开发HTTP接口

    开发工具 Visual Studio 2013 SQL Server 2008 R2 准备工作 启动Visual Studio 2013,新建一个ASP.NET Web应用程序,命名为SimpleAP ...

  4. OpenCV——SURF特征检测、匹配与对象查找

    SURF原理详解:https://wenku.baidu.com/view/2f1e4d8ef705cc1754270945.html SURF算法工作原理 选择图像中的POI(Points of i ...

  5. SQL 字符串分割表函数

    --字符串分割表函数 ) ) declare @i int; declare @count int; ); ); declare @Index int; )) declare @rowID int; ...

  6. scapy学习笔记(4)简单的sniffing 嗅探

    转载请注明:@小五义:http://www.cnblogs/xiaowuyi 利用sniff命令进行简单的嗅探,可以抓到一些简单的包.当不指定接口时,将对每一个接口进行嗅探,当指定接口时,仅对该接口进 ...

  7. Android处理ListView中的Item中的Button按钮不能点击的问题

    问题描述:ListView列表中的Button按钮按钮不能点击 解决办法:在ListView中的Item项的布局文件中加上:android:descendantFocusability="b ...

  8. iOS11 Xcode 9 按住command 单击 恢复到从前(直接跳转到定义)

    iOS11 Xcode 9  按住command 单击 恢复到从前(直接跳转到定义)   2017年9月20日,苹果如期推送 Xcode 9 和 iOS 11的更新. Xcode 9正式版与之前bet ...

  9. oracle 将字符串转化为数值型to_number()

    select to_number('22.222') from dual

  10. Pythoner使用的豆瓣pip源

    主要示例: sudo pip install -i http://pypi.douban.com/simple/  flask-script Flask的扩展: flask-script是一个可以在f ...