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/」を確認してどこで躓いてるのかを把握する。

関連する記事

  • Ubuntu TensorFlowのGPU版をpipでインスールする手順Ubuntu TensorFlowのGPU版をpipでインスールする手順 Ubuntu上で、TensorFlowのGPU版をpipでインストールする手順をお伝えする。 TensorFlowのバージョン0.6.0からPython3が使えるようになったので、Python3を用いることにする。 ここに記載されていることの大部分は、TensorFlowのDownload and […]
  • R言語 CRAN Task View:医用画像解析R言語 CRAN Task View:医用画像解析 CRAN Task View: Medical Image Analysisの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Brandon Whitcher Contact: bwhitcher at […]
  • R言語 CRAN Task View:系統学、特に比較方法R言語 CRAN Task View:系統学、特に比較方法 CRAN Task View: Phylogenetics, Especially Comparative Methodsの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Brian O'Meara Contact: omeara.brian at […]
  • これだけは抑えておきたい収益性分析の基本これだけは抑えておきたい収益性分析の基本 収益性分析とは、主に損益起算書上の数値から収益獲得力や投資効率性を測定する分析である。企業が継続的発展を遂げるためには利益確保が欠かせないが、企業経営は好調のときもあれば不調のときもあるため、様々な観点から収益または利益の状況を把握する必要がある。 ここでは、収益性分析の代表的な指標をいくつか紹介する。 これらの代表的な指標を活用するに当たっては、業種によってかなり異 […]
  • R言語 CRAN Task View:Rでの高性能並列コンピューティングR言語 CRAN Task View:Rでの高性能並列コンピューティング CRAN Task View: High-Performance and Parallel Computing with Rの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Dirk Eddelbuettel Contact: Dirk.Eddelbuettel at […]
ApacheとWildflyの連携方法