RabbitMQ设置在重启时消失。为什么?

时间:2012-08-10 18:16:26

标签: amazon-ec2 rabbitmq

这是在EC2上。我有一个init脚本,它可以执行一些基本设置,比如安装rabbitmq,创建虚拟主机,用户,设置权限等等。基本上它就是这样:

sudo yum --enablerepo=epel install rabbitmq-server
/etc/init.d/rabbitmq-server start
rabbitmqctl add_user username password
rabbitmqctl add_vhost vhost
rabbitmqctl set_permissions -p vhost username ".*" ".*" ".*"
rabbitmqctl stop

然后我退出shell,并从实例创建一个EBS图像。亚马逊会自动重新启动服务器以创建映像。

现在奇怪的部分......在重启之后,除了权限之外,一切都仍然设置。

然后当我从图像中启动一个新实例时,rabbitmq中没有用户名或主机。

是否需要在rabbitmq中完成保存更改的内容?

2 个答案:

答案 0 :(得分:18)

如果设置在“停止”和“重新启动”的情况下消失,则实例反对重启它,这是因为ip地址正在改变,RabbitMQ设置被绑定到ip。

请参阅RabbitMQ on Amazon EC2 instances

答案 1 :(得分:1)

我认为可能是这个,来自http://www.rabbitmq.com/ec2.html

  

EBS设备上的持久数据

     

RabbitMQ将数据写入Ubuntu上的以下目录:

     

/ var / lib / rabbitmq /用于存储消息或队列等持久性数据

     

/ var / log / rabbitmq /存储日志

     

如果您想使用EBS块设备存储RabbitMQ数据,只需将这些目录链接到您的EBS设备即可。在对数据目录进行任何更改之前停止RabbitMQ:

     

$ /etc/init.d/rabbitmq-server stop