(lighttpd+mod_proxy) + (apache2 + mod_perl2 + catalyst)
なんぞこのタイトル。昨日の続き。
やりたいことは以下の通り。
- フロントエンドは lighttpd
- バックエンドは apache2
- Port 8080 で待ち受け
- mod_perl2 を使って処理
ここの作業からの続きでもあります。
- apache2 の導入
- http://d.hatena.ne.jp/magicalhat/20080216/1203146791
- proxy.server の設定ではまった
- http://d.hatena.ne.jp/magicalhat/20080628/p1
static なファイルを lighttpd で
といっても、catalyst では /static へのリクエストのみが
static なファイルへのリクエストになるので
これを処理するように、以下のファイルに設定を追記すればおっけー。
- /etc/lighttpd/conf-enabled/10-proxy.conf
# a.mydomain.jp へのアクセス $HTTP["host"] == "a.mydomain.jp" { # static なファイルを処理 alias.url = ( "/static/" => "/var/www/MyApp/root/static/" ) # それ以外はバックエンドに回す $HTTP["url"] !~ "^/static/" { setenv.add-request-header = ( "X-Forwarded-Host" => "a.mydomain.jp" ) proxy.server = ( "" => (( "host" => "127.0.0.1", "port" => 8080 )) ) } }
catalyst を apache2 + mod_perl2 で
ここは普通に apache2 + mod_perl2 を設定すればいいみたい。
- /etc/apache2/sites-enabled/mysite
# a.mydomain.jp を処理するディレクティブ <VirtualHost *> ServerAdmin webmaster@mydomain.jp ServerName "a.mydomain.jp" DocumentRoot /var/www/MyApp ErrorLog /var/log/apache2/error.log LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature Off PerlOptions +Parent LoadModule perl_module modules/mod_perl.so PerlSwitches -I/var/www/MyApp/lib PerlLoadModule MyApp SetHandler modperl PerlTransHandler MyApp PerlResponseHandler MyApp </VirtualHost>
これで設定は完了したので
# /etc/init.d/lighttpd force-reload
# /etc/init.d/apache2 force-reload
して、設定を反映させれば終わり。
今後の予定
- フロントエンドの lighttpd は KeepAlive してもいいよね?