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

関連する記事

  • Eclipseにe(fx)clipseをインストールできない場合の対処方法Eclipseにe(fx)clipseをインストールできない場合の対処方法 Eclipseにe(fx)clipseをインストールできない場合の対処方法を備忘記録として残しておく。e(fx)clipseのインストール手順はこちらのサイトで確認できる。 Eclipse Kepler (4.3.x)で、以下のエラーが出てインストールできない場合は、 1 つ以上の必須項目が見つからないため、インストールを完了できません。 Software […]
  • R 文字列ベクトルで文字列を指定して要素を削除する方法R 文字列ベクトルで文字列を指定して要素を削除する方法 Rの文字列ベクトルで、文字列を指定して要素を削除する方法をお伝えする。 通常、ベクトルの要素を削除する場合は、次のように添字にマイナスを付加して削除する。 > s # 1番目の要素を削除 > s[-1] [1] "猫である。" "名前は" "まだ無い。" > # 1番目から2番目の要素を削除 > s[-1:-2] [1] "名前は" […]
  • WindowsでHeidiSQLを使用してMariaDBをバックアップ・リストアするの方法WindowsでHeidiSQLを使用してMariaDBをバックアップ・リストアするの方法 WindowsでHeidiSQLを使用してMariaDBをバックアップおよびリストア(復元)する方法をお伝えいたします。 MariaDBのバックアップ方法はいくつかありますが、今回ご紹介する方法は、ダンプファイルの作成という方法になります。MariaDBのダンプファイルの作成は、通常、CUI(黒い文字だけの画面)でmysqldumpというコマンドラインツールを用いて行い […]
  • Journal of Statistical Software: 記事一覧 Journal of Statistical Software の記事一覧をご紹介する。英語での説明文をgoogle翻訳を使用させていただき機械的に翻訳したものを掲載した。 確認日:2017/03/24 論文数:1089 Introduction to stream: An Extensible Framework for Data Stream […]
  • Ubuntu 日本語形態素解析システムJUMANのインストール方法Ubuntu 日本語形態素解析システムJUMANのインストール方法 buntu14.04で日本語形態素解析システムJUMANのインストール方法をお伝えする。 JUMAN単体では次のコマンドで簡単にインストールできる。 $ sudo apt-get install […]
ApacheとWildflyの連携方法