「RabbitMQ」:修訂間差異
第32行: | 第32行: | ||
登入後建議先建立<code>admin</code>帳號,並且移除<code>guest</code>帳號(這個名稱太雷)或是移除權限。 | 登入後建議先建立<code>admin</code>帳號,並且移除<code>guest</code>帳號(這個名稱太雷)或是移除權限。 | ||
=== LDAP === | |||
先安裝對應的plugin: | |||
<syntaxhighlight lang="bash"> | |||
sudo apt-get install -y erlang-eldap; sudo rabbitmq-plugins enable rabbitmq_auth_backend_ldap | |||
</syntaxhighlight> | |||
== Cluster設定 == | == Cluster設定 == |
於 2021年7月27日 (二) 22:38 的修訂
RabbitMQ是一套軟體。
需求
在AWS上用t3a.nano
安裝(512 MB的記憶體),會在開機後就馬上吃到Swap空間(機器上設定512 MB的Swap),這邊建議建議開發環境至少用t3a.micro
,正式環境的記憶體可以再往上開大。
要注意RabbitMQ預設要求要有40%(0.4
)的記憶體是空閒的,不然會開始罷工。考慮到這點,建議在正式環境上可以多保留一些記憶體,或是將0.4
調小一點。
安裝
RabbitMQ的安裝會跨越好幾個APT Repository:
sudo sudo apt-key adv --keyserver hkps://keys.openpgp.org --recv-keys 0x0A9AF2115F4687BD29803A206B73A36E6026DFCA; sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F77F1EDA57EBB1CC; curl -1sLf 'https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey' | sudo apt-key add -; sudo apt update; sudo apt install -y rabbitmq-server
基本設定
通常我們會先打開Web管理界面:
sudo rabbitmq-plugins enable rabbitmq_management
登入的界面是http://x.x.x.x:15672/
,預設的帳號是guest
,密碼也是guest
,雖然叫做guest,但是這組帳號是管理員。
另外要注意的是,預設的guest
帳號只能從本機localhost
連線登入,如果要開放遠端可以連的話,可以透過/etc/rabbitmq/rabbitmq.conf
設定修改(這個檔案有可能不存在,需要自己建立):
loopback_users = none
登入後建議先建立admin
帳號,並且移除guest
帳號(這個名稱太雷)或是移除權限。
LDAP
先安裝對應的plugin:
sudo apt-get install -y erlang-eldap; sudo rabbitmq-plugins enable rabbitmq_auth_backend_ldap
Cluster設定
建議至少三台機器,建議會是奇數(考慮到quorum)。
.erlang.cookie
先把rabbitmq-1-dev上的/var/lib/rabbitmq/.erlang.cookie
複製到其他台。
DNS
每一台機器的/etc/hosts
內要把其他機器的位置都設定進去,這邊有這三台機器:
- rabbitmq-1-dev
- rabbitmq-2-dev
- rabbitmq-3-dev
set_cluster_name
在rabbitmq-1-dev上把Cluster改名成rabbitmq-dev,預設的名稱會是主機的名稱(在這邊的例子就是rabbitmq-1-dev
):
sudo rabbitmqctl set_cluster_name rabbitmq-dev
join_cluster
在rabbitmq-2-dev與rabbitmq-3-dev上加入:
sudo rabbitmqctl stop_app
sudo rabbitmqctl join_cluster rabbit@rabbitmq-1-dev
sudo rabbitmqctl start_app
set_policy
在任何一台機器上設定Policy ha-two
,設定會同步到其他機器上:
sudo rabbitmqctl set_policy ha-two "^ha\." '{"ha-mode":"exactly","ha-params":2,"ha-sync-mode":"automatic"}'
外部連結
- 官方網站 (英文)