メッセージブローカーを使ってあそんでみるの目的
今回のお題
メッセージブローカー「ActiveMQ」をインストールしサービスの自動起動と確認を行います。
■事前環境
・Ubuntu 18.04.6 LTS
・openjdk version "11.0.16" 2022-07-19
1.ActiveMQの圧縮ファイルをダウンロード
$ wget https://dlcdn.apache.org//activemq/5.17.2/apache-activemq-5.17.2-bin.tar.gz
2.圧縮ファイルの解凍
圧縮ファイルを解凍し/opt配下に解凍されたフォルダーを移動
$ sudo tar xfz apache-activemq-5.17.2-bin.tar.gz
$ sudo mv apache-activemq-5.17.2 /opt/.
$ cd /opt/apache-activemq-5.17.2
3.設定ファイルを変更
デフォルトでは、ローカルホストからのみアクセスが許可されています。
ローカルまたはパブリック ネットワークから ActiveMQへアクセスを
有効にするには、conf/jetty.xml 構成ファイルを編集します。
例えば、すべてのネットワークからアクセスを有効にするには、「0.0.0.0」と設定します。
conf/jetty.xml
<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
<!-- the default port number for the web console -->
<property name="host" value="0.0.0.0"/>
<property name="port" value="8161"/>
</bean>
4.Systemdサービスへの登録と設定
4-1.起動用ユーザとグループの作成
$sudo adduser activemq
Adding user `activemq' ...
Adding new group `activemq' ...
4-2.サービス構成用ファイルを作成
起動ユーザとして上記で作成したユーザとグループを設定。
/etc/systemd/system/activemq.service
[Unit]
Description=Apache ActiveMQ Message Broker
After=network-online.target
[Service]
Type=forking
User=activemq
Group=activemq
WorkingDirectory=/opt/apache-activemq-5.17.2/bin
ExecStart=/opt/apache-activemq-5.17.2/bin/activemq start
ExecStop=/opt/apache-activemq-5.17.2/bin/activemq stop
Restart=on-abort
[Install]
WantedBy=multi-user.target
4-3.Systemdサービスをリロード
リロードすることで構成ファイルに問題がなければ、登録されます。
$ sudo systemctl daemon-reload
4-4.サービスの自動起動設定および起動確認
$ sudo systemctl enable activemq.service
$ sudo systemctl start activemq.service
4-5.状態の確認
$ sudo systemctl status activemq
● activemq.service - Apache ActiveMQ Message Broker
Loaded: loaded (/etc/systemd/system/activemq.service; enabled; vendor preset:
Active: active (running) since Wed 2022-01-01 0:0:0 JST; 29min ago
Process: 8754 ExecStop=/opt/apache-activemq-5.17.2/bin/activemq stop (code=exi
Process: 8942 ExecStart=/opt/apache-activemq-5.17.2/bin/activemq start (code=e
Main PID: 9033 (java)
Tasks: 53 (limit: 4181)
CGroup: /system.slice/activemq.service
mq9033 /usr/bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=l
5.ActiveMQの管理コンソールを表示
サービスが正常起動している場合、ブラウザーでコンソールにアクセスできます。
管理コンソールにアクセスする際はデフォルトで以下のパスワードが設定されています。
http://[サーバ]:8161/admin/
ユーザID:admin
パスワード:admmin