2012-08-10 49 views
15

这是在EC2上。我有一个init脚本,做一些基本的设置如安装RabbitMQ的,创建一个虚拟主机,用户设置权限,等等。所以基本上有云: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

有一个完全相同的问题。你有想过吗? – Fluffy 2012-11-07 15:58:27

+0

无视这个问题,我使用'rabbitmqctl list_permissions'来检查它们,而我应该使用'rabbitmqctl list_permissions -p/vhost' – Fluffy 2012-11-07 16:03:41

回答

0

我认为这也许是这样,从http://www.rabbitmq.com/ec2.html

EBS设备上的数据持久

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

的/ var/lib中/ RabbitMQ的/到存储持久数据,如邮件或队列

/var/log/rabbitmq /存储日志

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

$ /etc/init.d/rabbitmq-server停止

+2

我使用EBS支持的实例(根卷是一个EBS卷),所以这些目录已经位于EBS卷上。 – 2012-09-24 15:32:41

16

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

请参阅RabbitMQ on Amazon EC2 instances

+2

这是我的问题!谢谢。 – 2013-09-04 15:26:12

相关问题