Proxy + バックエンド(Catalyst + mod_perl)で
今までフロントエンドでApache2.2でバックエンドでApache2.0(Catalyst+mod_perl)で動かしていましたが。 なんか微妙に動作がおかしいので、いろいろとサイトとか見てまわった。
うちの場合のHttpd.confは以下のようになる。
フロントエンド(Apache2.2)のhttpd.conf
#### mysite #### <VirtualHost X.X.X.X> ServerName www.example.com DocumentRoot /home/mysite/public_html ErrorLog /home/mysite/error.log CustomLog /home/mysite/access.log combined env=!no_log AddDefaultCharset off RewriteEngine On RewriteLog /home/mysite/rewrite_log RewriteLogLevel 0 RewriteRule ^(.*)\.css - [L] RewriteRule ^(.*)\.gif - [L] RewriteRule ^(.*)\.png - [L] RewriteRule ^/(.*)$ http://127.0.0.1:8888/$1 [P] ProxyPassReverse / http://127.0.0.1:8888/ RewriteRule ^proxy:.* - [F] </VirtualHost>
バックエンド(Apache2.0+mod_perl)のhttpd.conf
### mysite 略 PerlSwitches -I/home/mysite/mysite/lib -I/home/その他たくさん LoadModule rpaf_module modules/mod_rpaf-2.0.so RPAFenable On RPAFsethostname On RPAFproxy_ips 127.0.0.1 <VirtualHost 127.0.0.1:8888> PerlModule mysite PerlSwitches -I/home/mysite/mysite/lib ServerName www.example.com DocumentRoot "/home/mysite/mysite/root" <Location /> SetHandler modperl PerlResponseHandler mysite </Location> ErrorLog /home/mysite/mod_error.log CustomLog /home/mysite/mod_access.log combined </VirtualHost>
こんな感じにしてて複数のVirtualHostで複数のCatalystあぷ動かしていたんだけど、たくさんのmod_perlおなじApacheで動かすのはやばいんでしょうか。
あとこちらのサイトをみまして。
http://d.hatena.ne.jp/webdoraku/20061117/p2
PerlOptions +Parentってのをみたんでやろうとしたら、
Syntax error on line 90 of /usr/local/httpd_mp2/conf/httpd.conf: PerlOption `Parent' requires an ithreads enabled Perl
とエラー
ithreadsが有効になってないから? うちのperlは5.8.0だけど 有効になってないのか?
うーん ようわからん。 つづく・・
その後なんかえらい苦労してLighttpdを入れて試してみた。
(Catalyst::Plugin::Charsets::Japaneseがまともにうごいてるっぽい! 注:普通はまともに動きます。 http://d.hatena.ne.jp/peppon/20061221/1166687273 )
でも、その他いろいろな問題は解決せずつーか、プログラム側の問題だって事で。
それがわかっただけでも嬉しい。 が、lightyいろいろと苦労したー。。