WildFly 10.0.0をCentOS 7.2へインストール
目次
概要
オープンソースのJava EEアプリケーションサーバである WildFly 10.0.0 をCentOS 7.2へインストールします。 WildFlyは元は JBoss AS という名称でしたが、商用版の JBoss EAP と名前が紛らわしいので改名されたとか。 今回はOracle Java SEのJDK 8も併せてインストールします。
構成
サーバ構成
OSバージョン
CentOS 7.2.1511 x86_64
ソフトウェア・パッケージ一覧
- jdk-8u92-linux-x64.rpm
- wildfly-10.0.0.Final.tar.gz
クライアント構成
OSバージョン
Windows 7 Ultimate Service Pack 1 64bit
ソフトウェア・パッケージ一覧
- Internet Explorer 11
環境構築
インストール
WildFlyの動作前提となるOracle Java(JDK)のインストーラを各サイトからダウンロードします。 2016年4月23日時点での最新版は以下のサイトからダウンロードしました。
JDK 8u92のダウンロード(jdk-8u92-linux-x64.rpm)
WildFly 10.0.0.Finalのダウンロード(wildfly-10.0.0.Final.tar.gz)
ダウンロードしたファイルはサーバの下記ディレクトリに格納してある前提とします。
/media/rpm/jdk-8u92/jdk-8u92-linux-x64.rpm
/media/rpm/wildfly-10.0.0/wildfly-10.0.0.Final.tar.gz
JDK 8u92のインストール
JDKのrpmパッケージをインストールします。
# cd /media/rpm/jdk-8u92/ # ls -l 合計 162068 -rw-r--r-- 1 root root 165953904 4月 23 00:15 jdk-8u92-linux-x64.rpm # rpm -ihv jdk-8u92-linux-x64.rpm 準備しています... ################################# [100%] 更新中 / インストール中... 1:jdk1.8.0_92-2000:1.8.0_92-fcs ################################# [100%] Unpacking JAR files... tools.jar... plugin.jar... javaws.jar... deploy.jar... rt.jar... jsse.jar... charsets.jar... localedata.jar...
JDKがインストールされたことを確認します。 また、複数バージョンのJDKが同時にインストールされている場合、 どのバージョンを利用するか選択して切り替える必要があります。 今回はインストールした1バージョンのJDKだけなので切替は必要ありませんが、一応確認しておきます。
# java -version java version "1.8.0_92" Java(TM) SE Runtime Environment (build 1.8.0_92-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode) # alternatives --config java 1 プログラムがあり 'java' を提供します。 選択 コマンド ----------------------------------------------- *+ 1 /usr/java/jdk1.8.0_92/jre/bin/java ←JDK(javaコマンド)が1つのバージョンしかインストールされていないことを確認 Enter を押して現在の選択 [+] を保持するか、選択番号を入力します: ←[Enter]キーを押す # alternatives --config javac 1 プログラムがあり 'javac' を提供します。 選択 コマンド ----------------------------------------------- *+ 1 /usr/java/jdk1.8.0_92/bin/javac ←JDK(javacコマンド)が1つのバージョンしかインストールされていないことを確認 Enter を押して現在の選択 [+] を保持するか、選択番号を入力します: ←[Enter]キーを押す
WildFlyのインストール
WildFlyをインストールします。インストールと言っても必要なファイルが .tar.gz 形式でアーカイブされているだけなので、/opt/ ディレクトリ配下に展開するだけです。
# cd /media/rpm/wildfly-10.0.0/ # ls -l 合計 133976 -rw-r--r-- 1 root root 137189474 4月 23 00:24 wildfly-10.0.0.Final.tar.gz # tar zxvf wildfly-10.0.0.Final.tar.gz -C /opt/ wildfly-10.0.0.Final/ wildfly-10.0.0.Final/.installation/ wildfly-10.0.0.Final/appclient/ wildfly-10.0.0.Final/appclient/configuration/ wildfly-10.0.0.Final/bin/ (中略) wildfly-10.0.0.Final/welcome-content/jbosscommunity_logo_hori_white.png wildfly-10.0.0.Final/welcome-content/noconsole.html wildfly-10.0.0.Final/welcome-content/noredirect.html wildfly-10.0.0.Final/welcome-content/wildfly.css wildfly-10.0.0.Final/welcome-content/wildfly_logo.png # ls -l /opt/ 合計 4 drwxr-xr-x. 2 root root 6 3月 26 2015 rh drwxr-xr-x 10 505 505 4096 1月 30 07:12 wildfly-10.0.0.Final ←WildFlyのプログラムが展開された
設定
WildFly用のOSグループ作成
インストールしたWildFly関連のファイルはUID、GIDがいずれも505となっています。 CentOS 7.2にはデフォルトではそのようなOSユーザ、OSグループは存在していません。 そこで、WildFlyを管理するための専用OSユーザ、OSグループを作成します。 名前はいずれも wildfly とします。 まずはOSグループ wildfly を作成します。GIDは 1001 とします。
# groupadd -g 1001 wildfly
# tail -n 1 /etc/group
wildfly:x:1001: ←wildflyグループが作成された
WildFly用のOSユーザ作成
OSユーザ wildfly を作成します。UIDは 1001 とし、プライマリグループを 1001 とします。
# useradd -u 1001 -g 1001 wildfly
# tail -n 1 /etc/passwd
wildfly:x:1001:1001::/home/wildfly:/bin/bash ←wildflyユーザが作成された
OSユーザのパスワード設定
作成したOSユーザ wildfly のパスワードを設定します。
# passwd wildfly ユーザー wildfly のパスワードを変更。 新しいパスワード: ←パスワードを入力 新しいパスワードを再入力してください: ←パスワードを再入力 passwd: すべての認証トークンが正しく更新できました。
WildFlyのインストールファイルの所有者・所有グループ変更
インストールしたWildFly関連のファイルの所有者・所有グループを wildflyユーザ、wildflyグループに設定します。
# cd /opt/ # chown -R wildfly:wildfly wildfly-10.0.0.Final
WildFlyインスタンスのバインドアドレス変更
WildFlyインストール後の初期状態では、バインドアドレスがループバックアドレス(127.0.0.1)に設定されているため、 サーバの外部から接続することができません。そこで、バインドアドレスをサーバのIPアドレスに変更します。 ここではサーバのIPアドレスが 192.168.0.104 である場合の設定例です。
# su - wildfly $ cd /opt/wildfly-10.0.0.Final/standalone/configuration/ $ vi standalone.xml
※以下、該当箇所のみ変更※ <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host> ↓変更 <wsdl-host>${jboss.bind.address:192.168.0.104}</wsdl-host>
<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
↓変更
<inet-address value="${jboss.bind.address.management:192.168.0.104}"/>
<inet-address value="${jboss.bind.address:127.0.0.1}"/>
↓変更
<inet-address value="${jboss.bind.address:192.168.0.104}"/>
WildFlyインスタンスの起動
バインドアドレスを設定したらWildFlyインスタンスを起動します。 起動用のシェルスクリプトが準備されているので、それを利用します。 なお、起動用のシェルスクリプトはフォアグラウンドで動作するようになっており、 プロンプトが占有されるので、バックグラウンドで起動するようにします。
$ $ cd /opt/wildfly-10.0.0.Final/bin/ $ ./standalone.sh & [1] 10595 $ ========================================================================= JBoss Bootstrap Environment JBOSS_HOME: /opt/wildfly-10.0.0.Final JAVA: java JAVA_OPTS: -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true ========================================================================= 05:03:25,859 INFO [org.jboss.modules] (main) JBoss Modules version 1.5.1.Final 05:03:26,042 INFO [org.jboss.msc] (main) JBoss MSC version 1.2.6.Final 05:03:26,107 INFO [org.jboss.as] (MSC service thread 1-6) WFLYSRV0049: WildFly Full 10.0.0.Final (WildFly Core 2.0.10.Final) starting 05:03:27,226 INFO [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0039: Creating http management service using socket-binding (management-http) 05:03:27,247 INFO [org.xnio] (MSC service thread 1-8) XNIO version 3.3.4.Final 05:03:27,255 INFO [org.xnio.nio] (MSC service thread 1-8) XNIO NIO Implementation Version 3.3.4.Final 05:03:27,340 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 38) WFLYCLINF0001: Activating Infinispan subsystem. 05:03:27,344 INFO [org.wildfly.extension.io] (ServerService Thread Pool -- 37) WFLYIO001: Worker 'default' has auto-configured to 8 core threads with 64 task threads based on your 4 available processors 05:03:27,364 INFO [org.jboss.remoting] (MSC service thread 1-7) JBoss Remoting version 4.0.18.Final 05:03:27,375 INFO [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 33) WFLYJCA0004: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3) 05:03:27,382 INFO [org.jboss.as.connector] (MSC service thread 1-3) WFLYJCA0009: Starting JCA Subsystem (WildFly/IronJacamar 1.3.2.Final) 05:03:27,387 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-4) WFLYJCA0018: Started Driver service with driver-name = h2 05:03:27,393 INFO [org.jboss.as.jsf] (ServerService Thread Pool -- 44) WFLYJSF0007: Activated the following JSF Implementations: [main] 05:03:27,401 INFO [org.jboss.as.naming] (ServerService Thread Pool -- 46) WFLYNAM0001: Activating Naming Subsystem 05:03:27,435 INFO [org.jboss.as.naming] (MSC service thread 1-4) WFLYNAM0003: Starting Naming Service 05:03:27,444 WARN [org.jboss.as.txn] (ServerService Thread Pool -- 54) WFLYTX0013: Node identifier property is set to the default value. Please make sure it is unique. 05:03:27,454 INFO [org.jboss.as.mail.extension] (MSC service thread 1-3) WFLYMAIL0001: Bound mail session [java:jboss/mail/Default] 05:03:27,455 INFO [org.jboss.as.security] (ServerService Thread Pool -- 53) WFLYSEC0002: Activating Security Subsystem 05:03:27,465 INFO [org.jboss.as.security] (MSC service thread 1-3) WFLYSEC0001: Current PicketBox version=4.9.4.Final 05:03:27,481 INFO [org.jboss.as.webservices] (ServerService Thread Pool -- 56) WFLYWS0002: Activating WebServices Extension 05:03:27,494 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 55) WFLYUT0003: Undertow 1.3.15.Final starting 05:03:27,497 INFO [org.wildfly.extension.undertow] (MSC service thread 1-8) WFLYUT0003: Undertow 1.3.15.Final starting 05:03:27,627 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 55) WFLYUT0014: Creating file handler for path '/opt/wildfly-10.0.0.Final/welcome-content' with options [directory-listing: 'false', follow-symlink: 'false', case-sensitive: 'true', safe-symlink-paths: '[]'] 05:03:27,660 INFO [org.wildfly.extension.undertow] (MSC service thread 1-3) WFLYUT0012: Started server default-server. 05:03:27,661 INFO [org.wildfly.extension.undertow] (MSC service thread 1-3) WFLYUT0018: Host default-host starting 05:03:27,697 INFO [org.jboss.as.ejb3] (MSC service thread 1-5) WFLYEJB0482: Strict pool mdb-strict-max-pool is using a max instance size of 16 (per class), which is derived from the number of CPUs on this host. 05:03:27,699 INFO [org.jboss.as.ejb3] (MSC service thread 1-8) WFLYEJB0481: Strict pool slsb-strict-max-pool is using a max instance size of 64 (per class), which is derived from thread worker pool sizing. 05:03:27,792 INFO [org.wildfly.extension.undertow] (MSC service thread 1-7) WFLYUT0006: Undertow HTTP listener default listening on 192.168.0.104:8080 05:03:27,813 WARN [com.arjuna.ats.arjuna] (MSC service thread 1-2) ARJUNA012210: Unable to use InetAddress.getLocalHost() to resolve address. 05:03:28,214 INFO [org.jboss.as.server.deployment.scanner] (MSC service thread 1-1) WFLYDS0013: Started FileSystemDeploymentService for directory /opt/wildfly-10.0.0.Final/standalone/deployments 05:03:28,227 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-7) WFLYJCA0001: Bound data source [java:jboss/datasources/ExampleDS] 05:03:28,346 INFO [org.infinispan.factories.GlobalComponentRegistry] (MSC service thread 1-4) ISPN000128: Infinispan version: Infinispan 'Mahou' 8.1.0.Final 05:03:28,393 INFO [org.jboss.ws.common.management] (MSC service thread 1-8) JBWS022052: Starting JBossWS 5.1.3.Final (Apache CXF 3.1.4) 05:03:28,500 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://192.168.0.104:9990/management 05:03:28,501 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://192.168.0.104:9990 05:03:28,501 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 10.0.0.Final (WildFly Core 2.0.10.Final) started in 2922ms - Started 267 of 553 services (371 services are lazy, passive or on-demand) $
アプリケーションがデプロイされていない状態では、WildFlyインスタンスの起動時間は3秒弱ぐらいでした。
動作テスト
プロセス確認
WildFlyインスタンスは1つのjavaプロセスとして表示されますので、 以下のように「java -D~」で始まるプロセスが起動していることを確認します。
$ ps -ef | grep java wildfly 10639 10595 0 05:03 ? 00:00:40 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Dorg.jboss.boot.log.file=/opt/wildfly-10.0.0.Final/standalone/log/server.log -Dlogging.configuration=file:/opt/wildfly-10.0.0.Final/standalone/configuration/logging.properties -jar /opt/wildfly-10.0.0.Final/jboss-modules.jar -mp /opt/wildfly-10.0.0.Final/modules org.jboss.as.standalone -Djboss.home.dir=/opt/wildfly-10.0.0.Final -Djboss.server.base.dir=/opt/wildfly-10.0.0.Final/standalone wildfly 15348 15314 0 12:34 pts/1 00:00:00 grep --color=auto java
ブラウザからの接続確認
PCのブラウザからWildFlyをインストールしたサーバにアクセスします。 今回利用したサーバのIPアドレスは「192.168.0.104」、デフォルトのリスニングポートは「8080」なので、 URLは「http://192.168.0.104:8080」となります。 以下のような画面が表示されれば、WildFlyのインストールと起動は成功しています。