HULFT10 Smart Proxyの起動と終了

本書では、Red Hat Enterprise Linux 9でHULFT10 Smart Proxyを起動および終了する際の設定について説明します。

実行ファイルの作成

HULFT10 Smart Proxy(Web API)とHULFT10 Smart Proxy(WSS)の実行ファイルを作成します。

実行ファイルには、実行権限を付与する必要があります。

HULFT10 Smart Proxy(Web API)の実行ファイルの作成

$HULFT_SMART_PROXY_HOME/bin/に、実行ファイルを作成します。

以下は実行ファイルのサンプルです。

#!/bin/bash
cd "$HULFT_SMART_PROXY_HOME/bin" || { echo "Failed to change directory.
Exiting.";exit 1;}
if [ ! -x "./hsp-api-server" ]; then
echo "./hsp-api-server is not executable. Exiting."
exit 1
fi
./hsp-api-server > /dev/null

HULFT10 Smart Proxy(WSS)の実行ファイルの作成

$HULFT_SMART_PROXY_HOME/binに、実行ファイルを作成します。

以下は実行ファイルのサンプルです。

#!/bin/bash
cd "$HULFT_SMART_PROXY_HOME/bin" || { echo "Failed to change directory.
Exiting.";exit 1;}
if [ ! -x "./hsp-wss-server" ]; then
echo "./hsp-wss-server is not executable. Exiting."
exit 1
fi
./hsp-wss-server > /dev/null

各サーバーの起動

各サーバーの起動の手順を説明します。初回はこの手順でサーバーを起動してください。

  1. HULFT10 Smart Proxy(Web API)の起動前の準備

    HULFT10 Smart Proxy(Web API)(以降、APIサーバー)を起動する前に、以下の準備が必要です。

    • 接続するPostgreSQLデータベースを起動

    • $HULFT_SMART_PROXY_HOME/etc/に以下をおく

      APIサーバー設定ファイル(api-config.yml)

    • APIサーバー設定ファイルに以下を設定

      • PostgreSQLデータベースへの接続情報

      • サーバー証明書と秘密鍵のパス

      APIサーバー設定ファイルの項目詳細は、「APIサーバー設定ファイル(api-config.yml)」を参照してください。

    • カレントディレクトリーは、APIサーバーの実行ファイルと同じ階層にする

  2. APIサーバーの起動

    以下の実行ファイルを実行します。

    $ ./hsp-api-server

    実行時にコンソールログが標準出力に出力されます。必要に応じてリダイレクトしてください。

    バックグラウンドジョブでの動作や、仮想端末を閉じたりログアウトしたりしても停止しないよう、必要に応じてnohupコマンドを使用します。

    nohupコマンドの詳細は、Linuxのヘルプを参照してください。

  3. HULFT10 Smart Proxy(WSS)の起動前の準備

    HULFT10 Smart Proxy(WSS)(以降、WSSサーバー)を起動する前に、以下の準備が必要です。

    • 接続するPostgreSQLデータベースを起動

    • $HULFT_SMART_PROXY_HOME/etc/に以下をおく

      WSSサーバー設定ファイル(wss-config.yml)

    • WSSサーバー設定ファイルに以下を設定

      • PostgreSQLデータベースへの接続情報

      • サーバー証明書と秘密鍵のパス

    • カレントディレクトリーは、WSSサーバーの実行ファイルと同じ階層にする

  4. WSSサーバーの起動

    以下の実行ファイルを実行します。

    $ ./hsp-wss-server

    実行時にコンソールログが標準出力に出力されます。必要に応じてリダイレクトしてください。

    バックグラウンドジョブでの動作や、仮想端末を閉じたりログアウトしたりしても停止しないよう、必要に応じてnohupコマンドを使用します。

    nohupコマンドの詳細は、Linuxのヘルプを参照してください。

各サーバーの停止

各サーバーを停止するには、killコマンドなどでサーバーのプロセスを停止します。

killコマンドを使用して、APIサーバーを停止させる例は以下のとおりです。

$ ps ax | grep ./hsp-api-server               # APIサーバーのプロセスIDを問い合わせ
16619 ?        Sl     0:01 ./hsp-api-server
$ kill 16619                                  # killコマンドでAPIサーバーのプロセスIDを指定してプロセスを停止

各コマンドの詳細は、Linuxのコマンドのヘルプを参照してください。

systemdを使用した各サーバーの起動と停止

初回の各サーバーの起動および停止以降は、systemdによるサービスの起動および停止の機能を使用して、各サーバーを起動および停止できます。

ユニットファイルの作成

systemdがシステム起動時にHULFT10 Smart Proxyをサービスとして起動するためのユニットファイルを作成します。

ユニットファイル名は任意で、/etc/systemd/systemのディレクトリーに配置します。

以下はユニットファイルのサンプルです。

  • HULFT10 Smart Proxy(Web API)を起動するためのユニットファイル

    例)/etc/systemd/system/hulft-api-server.service

    [Unit]
    Description=SmartProxy api-server run test
    After=network.target
    
    [Service]
    Environment="HULFT_SMART_PROXY_HOME=xxx" (*1)
    ExecStart=/bin/bash -c 'xxx.sh' (*2)
    
    [Install]
    WantedBy=multi-user.target
    

  • HULFT10 Smart Proxy(WSS)を起動するためのユニットファイル

    例)/etc/systemd/system/hulft-wss-server.service

    [Unit]
    Description=SmartProxy wss-server run test
    After=network.target
    
    [Service]
    Environment="HULFT_SMART_PROXY_HOME=xxx" (*1)
    ExecStart=/bin/bash -c 'xxx.sh' (*2)
    
    [Install]
    WantedBy=multi-user.target
    

*1

:

Environmentには、HULFT10 Smart Proxyを導入したディレクトリーを指定します。

*2

:

ExecStartには、実行ファイルを配置したディレクトリーを指定します。

サービスの操作コマンド

作成したユニットファイルをサービスとして、以下のとおり登録、起動、停止、および参照できます。

 

  • 更新したユニットファイルの内容をsystemdに反映

    sudo systemctl daemon-reload

     

  • サービスの自動起動を有効

    sudo systemctl enable xxx
    

    “xxx”にはユニットファイル名を指定します。

     

  • サービスを起動

    sudo systemctl start xxx
    

    “xxx”にはユニットファイル名を指定します。

     

  • サービスを停止

    sudo systemctl stop xxx
    

    “xxx”にはユニットファイル名を指定します。

     

  • サービスのステータスを表示

    sudo systemctl satus xxx
    

    “xxx”にはユニットファイル名を指定します。

各サーバーのログ

各サーバーからのログの出力先は、各設定ファイルに指定したパスになります。

  • APIサーバー

    APIサーバー設定ファイル(api-wss-config.yml)

    ログレベル(level)

    ファイルパス(filepath)

  • WSSサーバー

    WSSサーバー設定ファイル(wss-config.yml)

    ログ出力レベル(log-level)

    ログファイル名(log-path)

 

各設定ファイルの詳細は、「設定ファイル」を参照してください。