这是在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中完成保存更改的内容?
答案 0 :(得分:18)
如果设置在“停止”和“重新启动”的情况下消失,则实例反对重启它,这是因为ip地址正在改变,RabbitMQ设置被绑定到ip。
答案 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