Java EE 7 検証環境構築(15) WildFly を サービスとして設定する(Windows/Linux)

  1. Java EE 7 検証環境構築(1) WildFly + JBoss Tools で EARプロジェクトを作成し Arquillian で ユニットテストをグリーンにするところまで
  2. Java EE 7 検証環境構築(2) WildFly に DataSourceを作成
  3. Java EE 7 検証環境構築(3) JPAからMySQLに接続するユニットテストをArquillianで実行
  4. Java EE 7 検証環境構築(4) Java EE での DI(Dependency Injection) および CDI(Contexts and Dependency Injection)をながめる
  5. Java EE 7 検証環境構築(5) JBoss Toolsが生成したサンプルソースのCDIを確認する
  6. Java EE 7 検証環境構築(6) JPA エンティティの作成と挿入
  7. Java EE 7 検証環境構築(7) JPA 問い合わせ(1) 名前付きクエリを使ってみる。テストでトランザクションも意識する
  8. Java EE 7 検証環境構築(8) JPA 問い合わせ(2) 動的クエリとCriteria API を試す
  9. Java EE 7 検証環境構築(9) jBatch 概要をおさえる
  10. Java EE 7 検証環境構築(10) JBoss Tools で作成した EARプロジェクトをJava EE 6 から 7 に変更する
  11. Java EE 7 検証環境構築(11) jBatch用 プロジェクトの作成を行う
  12. Java EE 7 検証環境構築(12) jBatch 簡易サンプル作成と Arquillian でユニットテスト
  13. Java EE 7 検証環境構築(13) jBatch REST サービス経由で実行する
  14. Java EE 7 検証環境構築(14) WildFly の管理をGUIで行う
  15. Java EE 7 検証環境構築(15) WildFly を サービスとして設定する(Windows/Linux)
  16. Java EE 7 検証環境構築(16) WildFly と Apache を mod_jk で連携させる(Widows)

前回に引き続き、WildFly周りを詰めていきたい。

どうも、WildFlyの公式サイト にはあまり細かい情報までは書かれていない(ような気がする)のと、ネット上にWildFlyの情報がまだ少ないのと、JBoss ASの情報はネットで結構見つかるが、WildFlyでは変わっているところがそこそこありそうなので、上記Kindle本を購入してみた。1,000円台と非常に安く読みやすい。おすすめ。

要点を今後のためにメモしながら、実際に設定してみる。

1. WildFly を Windows サービスとして設定する

WildFly は、サービスとしてインストール出来るだけでなく、起動時に開始するように設定出来る。そうするには、サーバーに含まれるいくつかのスクリプトファイルを使う必要がある。

1.1 Standalone

WildFly8をWindowsにサービスとしてインストールするのは、AS7/EAP6に対して非常に簡単となっている。サードパーティー製のネイティブライブラリは不要で、WildFly8にはすでに必要なものはすべて含まれている。

WildFly8をStandaloneモードでサービスとしてインストールしたい場合、%JBOSS_HOME%/bin/service フォルダで、

PS>.\service.bat install

これだけで、Windowsのサービス管理から設定ができるようになる。

wildfly_as_service_windows

また、サービスとして、開始(start)、終了(stop)、再開(restart)を同様に service.bat から行うことが1出来る。

PS>.\service.bat start

1.2 Domain モード

ドメインモードの場合、ドメインコントローラ(デフォルトでは、127.0.0.1 ポート 9990) およびホスト名(デフォルト master) の設定など、もう少し追加作業が必要。

PS>.\service.bat install/controller localhost:9990 /host master

2. WildFly を Linuxサービスとして設定する

CentOS に設定してみる。

WildFly + JBoss Tools で EARプロジェクトを作成し Arquillian で ユニットテストをグリーンにするところまで

2.1 ダウンロードとインストール

2.1.1 前提条件

JDK1.7 がインストールされていること。

CentOS に Oracle JDKをインストール

2.1.2 ダウンロードとインストール

http://wildfly.org/downloads/

上記からダウンロードして、適当なディレクトリに解凍する。

2.1.3 管理ユーザーの作成

JBOSS_HOME\bin\add-user.sh を起動して管理ユーザーを追加する

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 the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : admin

Password : 
JBAS015267: Password must have at least 1 non-alphanumeric symbol.
Are you sure you want to use the password entered yes/no? yes
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 'admin' for realm 'ManagementRealm'
Is this correct yes/no? yes
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 < > value="bm9ydGgxMjM=">

2.2 サービスとして設定

2.1.1 設定ファイル

WildFlyをサービスとして開始させるために、JBOSS_HOME/bin/init.d ディレクトリを利用できる。

ファイル名 内容
wildfly-init-redhat.sh Red Hat Enterprise 系 Linux ディストリビューション(RHEL, CentOS) 用
wildfly-init-debian.sh Debian 系 Linuxディストリビューション
(Debian, Ubuntu) 用
wildfly.conf 上記initファイル用の設定

2.1.2 設定ファイルのコピーと編集

上記ファイルを必要に応じて、ディストリビューションごとのディレクトリにコピーする。

今回はCentOSなので、Red Hat 用を利用する

# cp wildfly-init-redhat.sh /etc/init.d/wildfly

同様に、設定ファイルをコピー

# cp wildfly.conf /etc/default/

wildfly.conf の内容を適切に編集する

# General configuration for the init.d scripts,
# not necessarily for JBoss AS itself.
# default location: /etc/default/wildfly

## Location of JDK
JAVA_HOME="/usr/java/jdk1.7.0_51"

## Location of WildFly
JBOSS_HOME="/home/piroto/opt/wildfly-8.1.0.Final"

## The username who should own the process.
JBOSS_USER=piroto

## The mode WildFly should start, standalone or domain
JBOSS_MODE=standalone

## Configuration for standalone mode
JBOSS_CONFIG=standalone.xml

## Configuration for domain mode
# JBOSS_DOMAIN_CONFIG=domain.xml
# JBOSS_HOST_CONFIG=host-master.xml

2.1.3 chkconfig に登録

# chkconfig --add wildfly

開始レベルの設定と確認

# chkconfig --level 2345 wildfly on
# chkconfig --list | grep wildfly                                                                 
wildfly         0:off   1:off   2:on    3:on    4:on    5:on    6:off

開始

# service wildfly start                                                                            
Starting wildfly:                                          [  OK  ]

ステータスの確認と終了

# service wildfly status
wildfly is running (pid 27748)
# service wildfly stop
Stopping wildfly:                                          [  OK  ]

以上特に問題なく完了。

1,000円台の出費でここまで捗るのはいいなぁKindle本。

和訳の書籍だと、値段が高すぎ(それでも買ってしまうのだが)なのと、情報が遅いのとで、結局英語のサイトをあさることになるのだが、確信情報へたどり着くまでのコストを考えると余裕で回収できそうだ。

この手の本を、制度が荒くてもいいからスピード重視で翻訳して和訳Kindle本出したら、そこそこ日本でもニーズがありそうだし、商売になるんじゃないかしら。


Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です