我在Amazon EC2上安装了Ubuntu 8.10服务器实例。 我在服务器上安装ejabberd,但是我在ejabberd节点上遇到了一些问题,无法启动,因为每次我们重新启动实例时,云上的主机名都会更改。 当我按照这个链接http://blog.kenweiner.com/2008/05/ejabberd-on-amazon-ec2-ubuntu-ami.html编辑和添加/ etc / hosts文件中的主机名,它的工作原理。 不幸的是,每次我重启服务器时,/ etc / hosts文件都被重置为默认值。
我怎么能解决这个问题?
这是一个已知的问题,目前由Canonical构build的EC2 Ubuntu镜像:
https:// bugs.launchpad.net/ubuntu-on-ec2/+bug/371936
您可以等待Canonical的下一个版本,或运行我在http:// alestic.com上发布的EC2的Ubuntu映像(并且它们没有相同的问题)。
我已经成功地在Alestic.com图像上运行ejabberd。
您可以尝试CloudInit在实例引导期间执行主机文件清理。 它包含在所有官方的Ubuntu EC2映像中,并允许您运行由ec2-run-instances (或AWS控制台向导中的相应input字段)的--user-data开关传递的初始化脚本,在启动时运行。 有点像rc.local 。
编辑:我没有意识到这是埃里克本人首先写了其他评论。 他在Alestic的博客中有很多有用的条目,其中包括提到的UserData 。