Apache ActiveMQは、無料のオープンソースメッセージブローカーおよび統合パターンサーバーです。これは、JAVA、C ++、C、Python、Perl、PHPなどの多くのクロスランゲージクライアントとプロトコルをサポートします。メッセージグループ、仮想宛先、ワイルドカード、複合宛先などの多くの機能を提供します。Springアプリケーションに簡単に統合できます。
このチュートリアルでは、CentOS7サーバーにApacheActiveMQをインストールします。
前提条件
- 最小限のCentOS7サーバー
- root権限。このガイドはrootユーザーとして作成されています。sudoユーザーとしてログインしている場合は、sudo-iを実行してください。
パッケージをインストールする前に、次のコマンドを使用してパッケージとリポジトリを更新することをお勧めします。
yum -y update
システムが更新されたら、さらにJAVAのインストールに進みます。
ActiveMQはOpenJDKとOracleJAVAの両方をサポートしています。このチュートリアルでは、最新バージョンのOracleJavaをサーバーにインストールします。次のコマンドを実行して、RPMパッケージをダウンロードします。
wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"
wgetがインストールされていない場合は、yum -yinstallwgetを実行してwgetをインストールできます。次に、次のコマンドを使用して、ダウンロードしたRPMをインストールします。
yum -y localinstall jdk-8u131-linux-x64.rpm
これで、次のコマンドを使用してJavaのバージョンを確認できます。
java -version
次の出力が得られます。
[[email protected] ~]# java -version java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
また、JAVA_HOME環境変数が設定されているかどうかを確認する必要があります。同じように次のコマンドを実行します。
echo $JAVA_HOME
nullまたは空白の出力が得られた場合は、JAVA_HOME変数を手動で設定する必要があります。お気に入りのエディタを使用して.bash_profileファイルを編集します。このチュートリアルでは、nanoエディターを使用します。次のコマンドを実行して、nanoを使用して.bash_profileを編集します。
nano ~/.bash_profile
次に、ファイルの最後に次の行を追加します。
export JAVA_HOME=/usr/java/jdk1.8.0_131/ export JRE_HOME=/usr/java/jdk1.8.0_131/jre
次のコマンドを使用してファイルを入手します。
source ~/.bash_profile
これで、echo $ JAVA_HOMEコマンドを再度実行して、環境変数が設定されているかどうかを確認できます。
[[email protected] ~]# echo $JAVA_HOME /usr/java/jdk1.8.0_131/
ActiveMQをインストールする
ActiveMQは、プリコンパイルされて直接使用できるUnixシステム用のバイナリを提供します。必要な依存関係は、JAVAをシステムにインストールすることだけでした。 JAVAをインストールしたので、さらにActiveMQのダウンロードに進むことができます。
wget http://www-eu.apache.org/dist//activemq/5.15.0/apache-activemq-5.15.0-bin.tar.gz
wgetがインストールされていない場合は、yum -yinstallwgetを実行できます。最新バージョンへのリンクは、ActiveMQダウンロードページでいつでも見つけることができます。
次のコマンドを使用してアーカイブを抽出します。
tar -zxvf apache-activemq-*-bin.tar.gz -C /var
実行して簡単にするために、ActiveMQディレクトリの名前を変更します。
mv /var/apache-activemq-*/ /var/activemq/
これで、ActiveMQがシステムにインストールされました。
ActiveMQの開始
現在のディレクトリをActiveMQインストールディレクトリに変更します。
cd /var/activemq
次のコマンドを実行すると、ActiveMQをフォアグラウンドプロセスとしてすぐに開始できます。
./bin/activemq console
ActiveMQをバックグラウンドプロセスとして開始するには、次を実行します。
./bin/activemq start
正常に起動すると、次の出力が得られるはずです。
[[email protected]c activemq]# ./bin/activemq start INFO: Loading '/var/activemq//bin/env' INFO: Using java '/usr/java/jdk1.8.0_131//bin/java' INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details INFO: pidfile created : '/var/activemq//data/activemq.pid' (pid '27680')
ActiveMQを停止するには、次のコマンドを実行できます。
./bin/activemq stop
上記のコマンドを使用してActiveMQを簡単に実行できますが、ActiveMQプロセスの管理にはsystemdサービスを使用することをお勧めします。 Systemdサービスを使用すると、ActiveMQが起動時および障害時に自動的に起動するようになります。
お気に入りのテキストエディタを使用してsystemdサービスファイルを作成します。このチュートリアルでは、nanoエディターを使用します。 nanoがインストールされていない場合は、yum -yinstallnanoを実行できます。
nano /etc/systemd/system/activemq.service
次に、ファイルに次のコンテンツを入力します。
[Unit] Description=ActiveMQ service After=network.target [Service] Type=forking ExecStart=/var/activemq/bin/activemq start ExecStop=/var/activemq/bin/activemq stop User=root Group=root Restart=always RestartSec=9 StandardOutput=syslog StandardError=syslog SyslogIdentifier=activemq [Install] WantedBy=multi-user.target
これで、次を使用してActiveMQを開始できます:
systemctl start activemq
起動時に自動的に起動するようにActiveMQを構成するには、を使用します。
systemctl enable activemq
ActiveMQサービスが正しく開始されているかどうかを確認するには、次のコマンドを実行してActiveMQサービスのステータスを確認します。
systemctl status activemq
以下に示すような出力が得られるはずです。
? activemq.service - ActiveMQ service Loaded: loaded (/etc/systemd/system/activemq.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2017-07-15 17:05:24 UTC; 6s ago Process: 28815 ExecStart=/var/activemq/bin/activemq start (code=exited, status=0/SUCCESS) Main PID: 28867 (java) CGroup: /system.slice/activemq.service ??28867 /usr/bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth... Jul 15 17:05:24 centos systemd[1]: Starting ActiveMQ service... Jul 15 17:05:24 centos activemq[28815]: INFO: Loading '/var/activemq//bin/env' Jul 15 17:05:24 centos activemq[28815]: INFO: Using java '/usr/bin/java' Jul 15 17:05:24 centos activemq[28815]: INFO: Starting - inspect logfiles specified in logging.propertie...tails Jul 15 17:05:24 centos activemq[28815]: INFO: pidfile created : '/var/activemq//data/activemq.pid' (pid '28867') Jul 15 17:05:24 centos systemd[1]: Started ActiveMQ service.
ActiveMQの管理パネルにアクセスするには、ActiveMQサービスを開始します。お気に入りのWebブラウザを使用して、次のURLを開きます。
http://Your_Server_IP:8161/admin
Firewalldをインストールしている場合は、ポート8161がファイアウォールを通過できるようにする必要があります。同じように次のコマンドを実行します。
firewall-cmd --zone=public --permanent --add-port=8161/tcp
firewall-cmd --reload
ApacheActiveMQの初期ユーザー名とパスワードはadminです。 および管理者 。ログインすると、次のインターフェイスが表示されます。
ログインしたらすぐにパスワードを変更する必要があります。
これで、Apache ActiveMQサーバーを使用して、複数のクライアントとサーバー間の通信を管理できます。 ActiveMQサイトにアクセスすると、ApacheActiveMQの詳細を確認できます。