ApacheとWildflyを連携する方法を3つの手順でご紹介する。Jboss AsがWildflyとなってまだ日が浅いためかサーバ上でWildflyをstandaloneで立ち上げて別のクライアントパソコンからブラウザでアクセスするための日本語での情報が少なく感じた。この記事があなたの参考になっていただければ幸いだ。

サーバ環境は以下の通りで、apacheはapt-getによりインストールした。UbuntuでApacheをapt-getによりインストールした場合、Ubuntu流のディレクトリ構成となるらしく、ここでの解説はこのディレクトリ構成をもとにしている。Wildflyはhttp://www.wildfly.org/よりダウンロードして適当なディレクトリに解凍してある。また、ApacheとWildflyは同一パソコン上にある。

  • Ubuntu server 12.04 LTS
  • Apache 2.2.22
  • Wildfly-8.0.0.Final

手順1:Apacheにリバースプロキシを設定

Apacheにリバースプロキシを設定するために以下のコマンドを実行してmod_proxyとmod_proxy_ajp を有効化する。


$ sudo a2enmod proxy
$ sudo a2enmod proxy_ajp

pacheにmod_proxyとmod_proxy_ajp が設定されているかを確認するために「/etc/apache2/mods-enable」ディレクトリ内に以下のシンボリックリンクがあるかを確認する。

  • proxy.conf
  • proxy.load
  • proxy_ajp.load

$ ls /etc/apache2/mods-enable

手順2:ApacheへのアクセスをWildflyに転送する設定

ApacheへのアクセスをAJP/1.3プロトコル8009番ポートでWildflyに転送するために「/etc/apache2/mods-enable」ディレクトリ内にconfファイルを作成する。ファイル名は適当でかまわないがここではwildfly-proxy-ajp.confとした。まず、vimを開いて、


$ sudo vim /etc/apache2/mods-enable/wildfly-proxy-ajp.conf

以下を入力後、保存して閉じる。


<Location /<warファイル名>/>
	ProxyPass ajp://127.0.0.1:8009/<warファイル名>/
</Location>

以上のApacheの設定を有効化するために以下のコマンドを実行する。


$ sudo service apache2 restart

手順3:Wildflyの設定

Wildfly側でAJP/1.3プロトコル8009番ポートで受け取る設定を行う。Wildflyを解凍したディレクトリ内のstandalone/configuration/standalone.xmlをvimで開き、一行追加後、保存して閉じる。


<subsystem xmlns="urn:jboss:domain:undertow:1.0">
    <buffer-caches>
        <buffer-cache name="default" buffer-size="1024" buffers-per-region="1024" max-regions="10"/>
    </buffer-caches>
    <server name="default-server">
        <http-listener name="default" socket-binding="http"/>
        <host name="default-host" alias="localhost">
            <location name="/" handler="welcome-content"/>
            <filter-ref name="server-header"/>
            <filter-ref name="x-powered-by-header"/>
        </host>

	<!--- 以下の一行を追加 -->
        <ajp-listener name="ajpListner" socket-binding="ajp" scheme="http" enabled="true"/>

    </server>
    <servlet-container name="default" default-buffer-cache="default" stack-trace-on-error="local-only">
        <jsp-config/>
    </servlet-container>
    <handlers>
        <file name="welcome-content" path="${jboss.home.dir}/welcome-content" directory-listing="true"/>
    </handlers>
    <filters>
        <response-header name="server-header" header-name="Server" header-value="Wildfly 8"/>
        <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow 1"/>
    </filters>
</subsystem>

この設定が有効かを確認するために、一度Wildflyを立ち上げて8009番ポートが開いているかを確認する。
そのために、Wildflyを解凍したディレクトリ内のbinディレクトリ内のstandalone.shを実行後、以下のコマンドを実行して確認する。


$ nmap 127.0.0.1
PORT        STATE      SERVICE
80/tcp      open       http
8009/tcp    open       ajp13
8080/tcp    open       http-proxy

これでWildflyの設定は完了だ。いったんWildflyの実行を「Ctrl+c」などで終了しておく。

ブラウザで表示

後はWildflyを解凍したディレクトリ内の「standalone/deployments」ディレクトリにwarファイル配置して、「standalone.sh」を実行後、違うパソコンのブラウザでアクセスしてみればよい。例えば、サーバのIPアドレスが「192.168.1.100」でwarファイルが「demo.war」であった場合は、「http://192.168.1.100/demo/」でアクセスしてみる。

もし、表示されない場合は、Apacheのログ「/var/log/apache2/」とWildflyのログ「standalone/log/」を確認してどこで躓いてるのかを把握する。

関連する記事

  • これだけは抑えておきたい安全性分析の基本これだけは抑えておきたい安全性分析の基本 安全性分析とは、主に貸借対照表上の数値から支払能力を測定する分析である。企業が倒産する主な原因は資金不足によって起こるため、様々な観点から資金の状況を把握する必要がある。 ここでは、安全性分析の代表的な指標をいくつか紹介する。 流動比率 流動比率とは、1年以内に資金化できる流動資産と1年以内に返済しなければならない流動負債との比率から支払能力をみる指標である。 […]
  • R言語 CRAN Task View:最適化と数理計画R言語 CRAN Task View:最適化と数理計画 CRAN Task View: Optimization and Mathematical Programmingの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Stefan Theussl, Florian Schwendinger, Hans W. […]
  • Python KNPを用いて係り受け構造を抽出する方法Python KNPを用いて係り受け構造を抽出する方法 Ubuntu14.04環境で、Python3と日本語構文・格・照応解析システムKNPを用いて係る語と受ける語のペアを抽出する方法をご紹介する。 係り受け構造を抽出するPython3のソースコードは次である。 from pyknp import KNP def […]
  • R言語 CRAN Task View:機械学習&統計学習R言語 CRAN Task View:機械学習&統計学習 CRAN Task View: Machine Learning & Statistical Learningの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Torsten Hothorn Contact: Torsten.Hothorn at […]
  • R言語 サンプルデータ一覧R言語 サンプルデータ一覧 R言語をインストールした際に、標準として準備されているサンプルデータの一覧をご紹介する。英語での説明文をBing翻訳またはGoogle翻訳を使用させていただいて翻訳したものを掲載した。サンプルデータを探す参考にしていただければ幸いだ。 標準で使用できるサンプルデータ AirPassengers Monthly Airline Passenger Numbers […]
ApacheとWildflyの連携方法