以前はJBossとして知られていたWildFlyは、Javaで記述されたクロスプラットフォームのオープンソースアプリケーションランタイムであり、すばらしいアプリケーションの構築に役立ちます。 WildFlyは柔軟性があり、軽量であり、必要に応じて追加または削除できるプラグ可能なサブシステムに基づいています。
このチュートリアルでは、WildFlyアプリケーションサーバーをDebian9にインストールするために必要な手順を説明します。
前提条件#
としてログインしているユーザーは、パッケージをインストールするためにsudo権限を持っている必要があります。
Java OpenJDKのインストール#
WildFlyではJavaをインストールする必要があります。 Debian9のデフォルトのJava開発およびランタイムであるOpenJDKをインストールします。
sudo apt update
sudo apt install default-jdk
ユーザー番号の作成
wildfly
という名前の新しいシステムユーザーとグループを作成します ホームディレクトリ/opt/wildfly
を使用 WildFlyサービスを実行します:
sudo groupadd -r wildfly
sudo useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
WildFlyのインストール#
執筆時点で、WildFlyの最新バージョンは16.0.0
です。 。次の手順に進む前に、ダウンロードページで新しいバージョンを確認する必要があります。新しいバージョンがある場合は、WILDFLY_VERSION
を置き換えます 以下のコマンドの変数。
/tmp
にあるWildFlyアーカイブをダウンロードします 次のwget
を使用するディレクトリ コマンド:
WILDFLY_VERSION=16.0.0.Final
wget https://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz -P /tmp
ダウンロードが完了したら、tar.gzfileを抽出し、/opt
に移動します。 ディレクトリ:
sudo tar xf /tmp/wildfly-$WILDFLY_VERSION.tar.gz -C /opt/
シンボリックリンクを作成するwildfly
これはWildFlyインストールディレクトリを指します:
sudo ln -s /opt/wildfly-$WILDFLY_VERSION /opt/wildfly
WildFlyはwildfly
として実行されます WildFlyインストールディレクトリにアクセスする必要があるユーザー。ディレクトリの所有権をユーザーとグループのwildfly
に変更します :
sudo chown -RH wildfly: /opt/wildfly
Systemdの設定#
WildFlyパッケージには、WildFlyをサービスとして実行するために必要なファイルが含まれています。
まず、WildFly設定ファイルを保持するディレクトリを作成します。
sudo mkdir -p /etc/wildfly
構成ファイルを/etc/wildfly
にコピーします ディレクトリ:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
このファイルを使用すると、WildFlyモードとバインドアドレスを指定できます。デフォルトでは、WildFlyはスタンドアロンモードで実行され、すべてのインターフェースでリッスンします。必要に応じてファイルを編集します。
/etc/wildfly/wildfly.conf# The configuration you want to run
WILDFLY_CONFIG=standalone.xml
# The mode you want to run
WILDFLY_MODE=standalone
# The address to bind to
WILDFLY_BIND=0.0.0.0
次に、WildFly launch.sh
をコピーします /opt/wildfly/bin/
へのスクリプト ディレクトリ:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
bin
内のスクリプト ディレクトリには実行可能フラグが必要です:
sudo sh -c 'chmod +x /opt/wildfly/bin/*.sh'
最後のステップは、/etc/systemd/system/
という名前のsystemdユニットファイルをコピーすることです。 ディレクトリ:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
systemdマネージャー構成をリロードします:
sudo systemctl daemon-reload
起動時にWildFlyサービスを開始して有効にします:
sudo systemctl start wildfly
sudo systemctl enable wildfly
次のコマンドでサービスステータスを確認します。
sudo systemctl status wildfly
* wildfly.service - The WildFly Application Server
Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled)
Active: active (running) since Sun 2019-02-17 04:59:39 PST; 2s ago
Main PID: 10005 (launch.sh)
Tasks: 62 (limit: 2319)
CGroup: /system.slice/wildfly.service
ファイアウォールの調整#
サーバーがファイアウォールで保護されていて、ローカルネットワークの外部からWildFlyインターフェースにアクセスする場合は、ポート8080
を開く必要があります。 。
ポート8080
でのトラフィックを許可するには 次のコマンドを入力します:
sudo ufw allow 8080/tcp
本番環境でWildFlyアプリケーションを実行する場合、ロードバランサーまたはリバースプロキシが使用される可能性が高く、ポート8080へのアクセスを内部ネットワークのみに制限することをお勧めします。 WildFly認証の設定#
WildFlyがインストールされ、実行される次のステップは、管理コンソールを使用して、またはCLIを使用してリモートで接続できるユーザーを作成することです。
新しいユーザーを追加するには、add-user.sh
を使用します WildFlyのbinディレクトリにあるスクリプト:
sudo /opt/wildfly/bin/add-user.sh
追加するユーザーの種類を尋ねられます:
What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a):
a
を選択します Enter
を押します :
次に、スクリプトにより、新しいユーザーの詳細を入力するように求められます。
Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : linuxize
Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.
- The password should be different from the username
- The password should not be one of the following restricted values {root, admin, administrator}
- The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s)
Password :
Re-enter Password :
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]:
About to add user 'linuxize' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-users.properties'
Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-users.properties'
Added user 'linuxize' with groups to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-groups.properties'
Added user 'linuxize' with groups to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-groups.properties'
Is this new user going to be used for one AS process to connect to another AS process?
e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls.
yes/no? yes
To represent the user add the following to the server-identities definition <secret value="UGFuMjNkZWo3NyNA" />
新しいユーザーは、認証に使用されるプロパティファイルに追加されます。
WildFlyインストールのテスト#
デフォルトのWildFlyページにアクセスするには、ブラウザーを開いて次のように入力します:http://<your_domain_or_IP_address>:8080
インストールが成功すると、次のような画面が表示されます。
WildFly管理コンソールへのアクセス#
コマンドラインインターフェイス#
コマンドラインからWildFly管理コンソールにアクセスするには、jboss-cli.sh
を使用できます。 スクリプト。
WildFlyのbinディレクトリに移動し、--connect
を使用してスクリプトを実行します オプション:
cd /opt/wildfly/bin/
./jboss-cli.sh --connect
管理者のユーザー名とパスワード(手順6で作成)を入力するように求められます:
Authenticating against security realm: ManagementRealm
Username: linuxize
Password:
ログインすると、コンソールプロンプトが[standalone@localhost:9990 /]
に変わります。 。 help
と入力します コマンドとコマンド構文のリストを取得します。
ここから、アプリケーションのデプロイとアンデプロイ、ユーザーとグループの管理、WildFlyサーバーの設定と監視を行うことができます。
Webインターフェイス#
GUIからサーバーを管理したい場合、WildFlyはWebベースのコンソールも提供します。
デフォルトでは、WildFly管理コンソールはローカルホストのhttp://localhost:9990/console
からのみ利用できます。 。手順6で作成したユーザーを使用してサインインします。
離れた場所からコンソールにアクセスする場合は、wildfly.service
に小さな変更を加える必要があります 、wildfly.conf
およびlaunch.sh
ファイル。
wildfly.conf
を開きます WILDFLY_CONSOLE_BIND=0.0.0.0
を追加します ファイルの最後にあります。
# The configuration you want to run
WILDFLY_CONFIG=standalone.xml
# The mode you want to run
WILDFLY_MODE=standalone
# The address to bind to
WILDFLY_BIND=0.0.0.0
# The address console to bind to
WILDFLY_CONSOLE_BIND=0.0.0.0
launch.sh
を開きます 強調表示された行を編集します:
#!/bin/bash
if [ "x$WILDFLY_HOME" = "x" ]; then
WILDFLY_HOME="/opt/wildfly"
fi
if [[ "$1" == "domain" ]]; then
$WILDFLY_HOME/bin/domain.sh -c $2 -b $3 -bmanagement $4
else
$WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement $4
fi
変更を有効にするためにサービスを再起動します:
sudo systemctl restart wildfly
wildfly.service
を開きます 強調表示された行を編集します:
[Unit]
Description=The WildFly Application Server
After=syslog.target network.target
Before=httpd.service
[Service]
Environment=LAUNCH_JBOSS_IN_BACKGROUND=1
EnvironmentFile=-/etc/wildfly/wildfly.conf
User=wildfly
LimitNOFILE=102642
PIDFile=/var/run/wildfly/wildfly.pid
ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND
StandardOutput=null
[Install]
WantedBy=multi-user.target
/var/run/wildfly
を作成します ディレクトリを作成し、正しい権限を設定します:
sudo mkdir /var/run/wildfly/
sudo chown wildfly: /var/run/wildfly/
systemdマネージャー構成をリロードします:
sudo systemctl daemon-reload
以下を実行してWildFlyサービスを再起動します:
sudo systemctl restart wildfly
ファイアウォールがポート9990
をブロックしていないと仮定します 、http://<your_domain_or_IP_address>:9990/console
でWildFly管理コンソールにアクセスできるはずです。 。