私のローカルコンピュータでRabbitmqサーバーを起動すると、接続に問題があります。私のローカルコンピュータで実行されているサーバーのErlan Cookieが私のローカルコンピュータのCookieと一致しないようです。ローカルコンピュータで実行すると、この問題は、インストーラによって生成されたRabbitmqユーザーとしてRabbitmqを実行しないために発生する可能性があることを説明する古い投稿をインターネットで見つけました。だから私は次のコマンドを使用してRabbitmqユーザーとしてRabbitmqを起動しました。
sudo -H -u rabbitmq bash /usr/lib/rabbitmq/bin/rabbitmq-server
正確にはどのように機能しますか? Rabbitmqユーザーのための専用フォルダがないので、言及されたユーザーのアランクッキーを自分のホームフォルダ(どこにあるか)のCookieと一致しないように保存できる場所を知りたいです。また、--set-homeコマンドが与えられたコマンドのコンテキストでどのように機能するかを知りたいです。なぜなら、そのようなユーザーは(私が理解する限り)ホームディレクトリを持っていないからです。
答え1
RabbitMQインストーラはrabbitmq
ユーザーを作成し、ホームディレクトリをに設定します/var/lib/rabbitmq
。rabbitmq
でユーザーを検索すると、これがわかります/etc/passwd
。
私のローカルコンピュータで実行されているサーバーのErlan Cookieが私のローカルコンピュータのCookieと一致しないようです。
これをどうやって知ることができますか?コマンドを実行しましたが、エラーが表示されましたか?これは重要な情報です。
パッケージからインストールする場合、RabbitMQはユーザーinit
()systemd
で始まり使用されますrabbitmq
。その後、実行する必要があるときにrabbitmqctl
asroot
コマンドを実行してuserに切り替えて、rabbitmq
正しいCookieが使用されていることを確認できます。
/var/lib/rabbitmq/.erlang.cookie
このファイルをホームディレクトリにコピーし、rabbbitmqctl
自分のユーザーとして実行できます。
メモ:RabbitMQチームのモニタリングrabbitmq-users
メーリングリスト時にはStackOverflowに関する質問に回答することもあります。