mod_cluster-manager にアクセスできず、Apache の error.log に次のエラーが表示されます
[Wed Jan 16 17:20:13 2013] [warn] module proxy_module is already loaded, skipping
[Wed Jan 16 17:20:13 2013] [notice] Advertise initialized for process 2410
[Wed Jan 16 17:20:13 2013] [notice] Apache/2.2.17 (Ubuntu) mod_cluster/1.2.0.Final PHP/5.3.5-1ubuntu7.8 with Suhosin-Patch configured -- resuming normal operations
[Wed Jan 16 17:27:22 2013] [error] proxy: CLUSTER: (balancer://mycluster). All workers are in error state
[Wed Jan 16 17:27:23 2013] [warn] proxy: No protocol handler was valid for the URL /favicon.ico. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.
mod_cluster を有効にするために jboss スタンドアロン モードを設定しました。standalone-ha.xml のそれぞれのセクションに次の行を追加しました
<extension module="org.jboss.as.modcluster"/>
<subsystem xmlns="urn:jboss:domain:modcluster:1.0">
<mod-cluster-config advertise-socket="modcluster" advertise-security-key="secret"/>
</subsystem>
次のモジュールをダウンロードしました: mod_slotmem.so mod_manager.so mod_proxy_cluster.so mod_advertise.so
http://downloads.jboss.org/mod_cluster//1.1.0.Final/mod_cluster-1.1.0.Final-linux2-x64-so.tar.gzで、それを usr/lib/apache2/modules に置きます。
/etc/apache2/mods-available の mod_cluster.load に以下を設定しました。
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so
LoadModule slotmem_module /usr/lib/apache2/modules/mod_slotmem.so
LoadModule manager_module /usr/lib/apache2/modules/mod_manager.so
LoadModule proxy_cluster_module /usr/lib/apache2/modules/mod_proxy_cluster.so
LoadModule advertise_module /usr/lib/apache2/modules/mod_advertise.so
mod_cluster.conf に以下を設定しました
CreateBalancers 1
<IfModule manager_module>
Listen 127.0.0.1:8082
ManagerBalancerName mycluster
<VirtualHost 127.0.0.1:8082>
KeepAliveTimeout 300
MaxKeepAliveRequests 0
AdvertiseFrequency 5
ServerAdvertise On
<Location />
Order deny,allow
Allow from 127.0.0.1
</Location>
</VirtualHost>
</IfModule>
$ sudo a2enmod mod_cluster を実行してモジュールを有効にします
最後に、/etc/apache2/sites-available の jboss で次のように設定しました。
#NameVirtualHost *:80
<VirtualHost *:80>
#ServerAdmin info@domain.de
ServerName comitdev2
ServerAlias comitdev2
ProxyPass / balancer://mycluster stickysession=JSESSIONID|jsessionid nofailover=On
ProxyPassReverse / balancer://mycluster
ProxyPreserveHost On
<Location />
Order deny,allow
Allow from All
</Location>
<Location /mod_cluster-manager>
SetHandler mod_cluster-manager
Order deny,allow
#Deny from all
Allow from 127.0.0
</Location>
</VirtualHost>
最後に、000-default サイトを無効にし、jboss サイトを有効にしました
ローカルホストにアクセスするたびに、サービスが一時的に利用できなくなります。
Ubuntu 11.04 を使用しています