GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS8にApacheActiveMQとHawt.ioをインストールする方法

Apache ActiveMQは、2つのアプリケーション間でメッセージを送信するために使用できる無料のオープンソースのJavaベースのメッセージブローカーです。データの高可用性やメッセージ負荷分散など、多くの機能を提供します。また、Java、C、C ++、Python、PHP、Perl、Ruby、C#などのいくつかの言語のクライアントとプロトコルもサポートしています。メッセージを送信者から受信者に変換し、メッセージをキューに保持できるようにします。

このチュートリアルでは、CentOS8にApacheActiveMQをインストールする方法を学習します。

前提条件
  • CentOS8を実行しているサーバー。
  • ルートパスワードはサーバーで構成されています。

Javaのインストール

Apache ActiveMQはJavaベースのアプリケーションであるため、Javaをシステムにインストールする必要があります。インストールされていない場合は、次のコマンドでインストールできます。

dnf install java-11-openjdk-devel -y

Javaをインストールした後、次のコマンドを使用して、インストールされているJavaのバージョンを確認します。

java --version

次の出力が得られるはずです:

openjdk 11.0.6 2020-01-14 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.6+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.6+10-LTS, mixed mode, sharing)

ApacheActiveMQのインストールと構成

まず、ActiveMQの最新バージョンを公式Webサイトからダウンロードする必要があります。次のコマンドでダウンロードできます:

cd /opt
wget https://www.apache.org/dist/activemq/5.15.12/apache-activemq-5.15.12-bin.tar.gz

ダウンロードしたら、次のコマンドを使用してダウンロードしたファイルを抽出します。

tar -xvzf apache-activemq-5.15.12-bin.tar.gz

次に、次のコマンドを使用して、抽出したディレクトリapache-activemqの名前を変更します。

mv apache-activemq-5.15.12 apache-activemq

次に、ApacheActiveMQ用に別のユーザーを作成することをお勧めします。次のコマンドを使用して、activemqという名前の新しいユーザーを作成できます。

useradd activemq

次に、apache-activemqディレクトリの所有権をactivemqに変更します。

chown -R activemq:activemq /opt/apache-activemq/

終了したら、次のステップに進むことができます。

ActiveMQのSystemdサービスファイルを作成する

次に、ApacheActiveMQサービスを管理するためのsystemdサービスファイルを作成する必要があります。次のコマンドで作成できます:

nano /etc/systemd/system/apache-activemq.service

次の行を追加します:

[Unit]
Description=Apache ActiveMQ Messaging Server
After=network.target

[Service]
Type=forking
User=activemq
Group=activemq

ExecStart=/opt/apache-activemq/bin/activemq start
ExecStop=/opt/apache-activemq/bin/activemq stop

[Install]
WantedBy=multi-user.target

終了したら、ファイルを保存して閉じます。次に、次のコマンドを使用してsystemdデーモンをリロードします。

systemctl daemon-reload

次に、ActiveMQサービスを開始し、次のコマンドを使用してシステムの再起動後に開始できるようにします。

systemctl start apache-activemq
systemctl enable apache-activemq

次のコマンドを使用して、ActiveMQサービスのステータスを確認できます。

systemctl status apache-activemq

次の出力が表示されます。

? apache-activemq.service - Apache ActiveMQ Messaging Server
   Loaded: loaded (/etc/systemd/system/apache-activemq.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-03-26 10:15:32 EDT; 12s ago
  Process: 9005 ExecStart=/opt/apache-activemq/bin/activemq start (code=exited, status=0/SUCCESS)
 Main PID: 9057 (java)
    Tasks: 49 (limit: 25028)
   Memory: 197.5M
   CGroup: /system.slice/apache-activemq.service
           ??9057 /usr/bin/java -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/opt/apach>

Mar 26 10:15:32 centos8 systemd[1]: Starting Apache ActiveMQ Messaging Server...
Mar 26 10:15:32 centos8 activemq[9005]: INFO: Loading '/opt/apache-activemq//bin/env'
Mar 26 10:15:32 centos8 activemq[9005]: INFO: Using java '/usr/bin/java'
Mar 26 10:15:32 centos8 activemq[9005]: INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details
Mar 26 10:15:32 centos8 activemq[9005]: INFO: pidfile created : '/opt/apache-activemq//data/activemq.pid' (pid '9057')
Mar 26 10:15:32 centos8 systemd[1]: Started Apache ActiveMQ Messaging Server.

デフォルトでは、ApacheActiveMQはポート8161でリッスンします。次のコマンドで確認できます。

netstat -antup | grep 8161

次の出力が得られるはずです:

tcp6       0      0 :::8161                 :::*                    LISTEN      9289/java 

ApacheActiveMQ管理者パスワードを設定する

デフォルトでは、ApacheActiveMQ管理者のユーザー名とパスワードはadmin/adminに設定されています。セキュリティ上の理由から非常に危険です。したがって、安全なパスワードで変更することをお勧めします。

次のファイルを編集して変更できます:

nano /opt/apache-activemq/conf/jetty-realm.properties

次の行を希望のパスワードに変更します。

# username: password [,rolename ...]
admin: activemqpassword, admin
user: userpassword, user

終了したら、ファイルを保存して閉じます。次に、ActiveMQサービスを再起動して、変更を適用します。

systemctl restart apache-activemq

終了したら、次のステップに進むことができます。

NginxをApacheActiveMQのリバースプロキシとして構成する

次に、NginxをActiveMQのリバースプロキシとして構成することをお勧めします。

まず、次のコマンドを使用してNginxWebサーバーをインストールします。

dnf install nginx -y

Nginxがインストールされたら、次のコマンドを使用して新しいNginx仮想ホスト構成ファイルを作成します。

nano /etc/nginx/conf.d/activemq.conf

次の行を追加します:

server {
    listen 80;
    server_name your-server-ip;
    location / {
        proxy_pass http://127.0.0.1:8161;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
     }
}

終了したら、ファイルを保存して閉じます。次に、次のコマンドを使用して、構文エラーがないかNginxを確認します。

nginx -t

次の出力が表示されます。

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

最後に、次のコマンドを使用して、Nginxサービスを開始し、システムの再起動後に開始できるようにします。

systemctl start nginx
systemctl enable nginx

次のコマンドを使用して、Nginxのステータスを確認することもできます。

systemctl status nginx

次の出力が表示されます。

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-03-26 10:27:45 EDT; 1min 9s ago
  Process: 9984 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 9982 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 9980 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 9985 (nginx)
    Tasks: 3 (limit: 25028)
   Memory: 5.5M
   CGroup: /system.slice/nginx.service
           ??9985 nginx: master process /usr/sbin/nginx
           ??9986 nginx: worker process
           ??9987 nginx: worker process

Mar 26 10:27:44 centos8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
SELinuxとファイアウォールを構成する

デフォルトでは、SELinuxはCentOS8で有効になっています。ApacheActiveMQが正しく機能するようにSELinuxを無効にすることをお勧めします。

/ etc / selinux / configファイルを編集してSELinuxを無効にできます:

nano /etc/selinux/config

次の行を見つけます:

SELINUX=enforcing

そして、それを次の行に置き換えます:

SELINUX=permissive

ファイルを保存して閉じます。次に、システムを再起動して変更を適用します。

次に、firewalldを介してポート80と8161を許可する必要があります。次のコマンドで許可できます:

firewall-cmd --zone=public --permanent --add-port=8161/tcp
firewall-cmd --zone=public --permanent --add-port=80/tcp
>

次に、firewalldをリロードして変更を適用します:

firewall-cmd --reload

終了したら、次のステップに進むことができます。

ApacheActiveMQにアクセス

この時点で、ApacheActiveMQがインストールおよび構成されています。

次に、Webブラウザーを開き、URL http://your-server-ipを入力します。次のページが表示されます:

URL http:// your-server-ip / adminにアクセスして、ApacheActiveMQ管理インターフェースにアクセスすることもできます。次のページにリダイレクトされます:

管理者のユーザー名とパスワードを入力し、サインインをクリックします ボタン。次のページにApacheActiveMQ管理インターフェースが表示されます。

Hawt.ioを使用してActiveMQを監視する

Hawt.ioを使用してApacheActiveMQを監視することもできます。 Hawt.ioは、Javaベースのアプリケーションを管理するためのモジュラーWebコンソールです。これは、Tomcat、Jetty、Karaf、JBossなど、あらゆる種類のJVM、あらゆる種類のコンテナーをサポートするプラグ可能な管理コンソールです。

まず、次のコマンドを使用して、最新バージョンのHawt.iowarファイルをダウンロードします。

wget https://repo1.maven.org/maven2/io/hawt/hawtio-default/2.9.1/hawtio-default-2.9.1.war

次に、次のコマンドを使用して、ダウンロードしたファイルを抽出します。

unzip hawtio-default-2.9.1.war -d hawtio

次に、次のコマンドを使用して、抽出したディレクトリをwebappsディレクトリに移動します。

mv hawtio /opt/apache-activemq/webapps/

次に、次のコマンドを使用して、webappsディレクトリの所有権をactivemqに変更します。

chown -R activemq:activemq /opt/apache-activemq/webapps/

次に、Apache ActiveMQ環境ファイルを編集し、いくつかの変更を加えます。

nano /opt/apache-activemq/bin/env

次の行を見つけます:

ACTIVEMQ_OPTS="$ACTIVEMQ_OPTS_MEMORY -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=$ACTIVEMQ_CONF/login.config"

次の行に置き換えます:

ACTIVEMQ_OPTS="$ACTIVEMQ_OPTS_MEMORY -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=$ACTIVEMQ_CONF/login.config -Dhawtio.realm=activemq -Dhawtio.role=admins -Dhawtio.rolePrincipalClasses=org.apache.activemq.jaas.GroupPrincipal"

終了したら、ファイルを保存して閉じます。次に、jetty.xmlファイルを開きます:

nano /opt/apache-activemq/conf/jetty.xml

の行の下に次の行を追加します:

<bean class="org.eclipse.jetty.webapp.WebAppContext">
<property name="contextPath" value="/hawtio" />
<property name="resourceBase" value="${activemq.home}/webapps/hawtio" />
<property name="logUrlOnStart" value="true" />
</bean>

終了したらファイルを保存して閉じ、ApacheActiveMQサービスを再起動して変更を適用します。

systemctl restart apache-activemq

終了したら、次のステップに進むことができます。

Hawt.ioWebインターフェイスにアクセス

これで、Hawt.ioがインストールおよび構成されました。 Webインターフェイスにアクセスするときが来ました。

Webブラウザーを開き、URL http:// your-server-ip/hawtioを入力します。 Hawt.ioログインページにリダイレクトされます:

デフォルトのユーザー名とパスワードをadmin/adminとして指定し、ログをクリックします ボタン。次のページにHawt.ioダッシュボードが表示されます。

結論

おめでとう! CentOS8にApacheActiveMQが正常にインストールされました。詳細については、ActiveMQのApacheActiveMQドキュメントを参照してください。


Cent OS
  1. CentOS7にApacheCassandraをインストールする方法

  2. CentOS7にApacheActiveMQをインストールする方法

  3. Ubuntu20.04およびCentOS8にMongoDBをインストールする方法

  1. CentOS8にMongoDBをインストールする方法

  2. CentOS8にApacheCassandraをインストールする方法

  3. CentOS7にApacheをインストールする方法

  1. CentOS7にApacheMavenをインストールする方法

  2. CentOS7にApacheCassandraをインストールする方法

  3. CentOS8にApacheをインストールする方法