PSGI は Web サーバと Web Application を仲介するプロトコルです。 これは mod_perl や FastCGI といったソフトウェアを抽象化し、より多くの選択肢を与えることを目的にしています。
img0ch は PSGI 対応しているため、PSGI を使って動作を高速化させることが出来ます。 ただし、PSGI 対応は 3.1.6 以降のバージョンのみです。
PSGI では使用可能なソフトウェアの選択肢が様々ありますが、ここではその代表として Plack を使います。
Plack は PSGI の参考実装です。 まずはこれをインストールします。
cpan install Plack
img0ch-config.cgi のあるディレクトリに移動し、以下のコマンドを実行してサーバとして立ち上がるかを確認します。 サーバが立ち上がると http://[サーバ名]:5000 でアクセス可能になります。
plackup ./img0ch/3/Img0ch/PSGI/bin/boot.psgi
plackup の詳細については以下の URL を参照してください。 http://search.cpan.org/dist/Plack/scripts/plackup
PSGI/Plack はアプリケーションサーバとして立ち上がるため、フロントのサーバからリバースプロクシを立てて 特定の URI で PSGI/Plack に委譲させるようにします。以下は Apache の記述例です。
<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from all
</Proxy>
ProxyPass /path/to/img0ch/test http://localhost:5000
ProxyPassReverse /path/to/img0ch/test http://localhost:5000
</IfModule>