h2o の fastcgi サポートで Plack::Handler::FCGI を動かす
h2o で PHP を FCGI で動かすという話題が最近見かけますが、もちろん h2o+FCGI+Perl も快適に動作します。 具体的には以下のように書けばよろしい。
listen: 9090
hosts:
default:
paths:
/:
file.dir: /path/to/htdocs/
fastcgi.spawn: "exec /opt/perl-5.18/bin/plackup -s FCGI --nproc 10 /path/to/app/"
簡単すぎて、とくに解説することがないです。
h2o+FCGI で運用した場合のメリットとして、Starlet 等の application server を立ち上げる場合と異なり、application server のプロセスを daemon tools や systemctl 等で管理する必要がないというメリットがある。
一方で、TCP+HTTP/1.1 でやっていれば通信を見るのが簡単なのに、STDIN で通信する FCGI では通信経路を観測するのが難しいので、そのへんをどう見るか、というところでしょうか。