CGI::PSGIの利用_第1回 plackupサービス

1.前置き

たまにフリーズするだいぶ古くなったSONY READERに入っている宮川さんのPlack Hanfbookを読んでいると、色々と自分のサーバーで試してみたくなる事が出てきます。以前はPlack::APP::CGIBinを利用して既存のCGIプログラムをPSGI化した記事を掲載しました(http://www.webkoza.com/rooms/2013/07/plackappcgibin.html)が、今回から3回に渡り、CGI::PSGIを利用したマルチアプリケーションフレームと簡単なアプリケーションを作った記事を掲載します。
以前の記事では、-Mオプションと-eオプションを使用したplackupコマンドにCGIディレクトリを引数にしたPlack::APP::CGIBinミドルウェアをワンライナーで指定指定したdaemonを作りました(http://www.webkoza.com/rooms/2013/07/plackappcgibin.htmlの「2.plackupコマンドによるCGIディレクトリのPSGI化」)が、今回の第1回では-Mや-eは使わず、ファイル化したpsgiアプリケーションをplackupするdaemonについて記載します。

2.plackupコマンドによるマルチアプリケーションフレーム用PSGIの起動

(1)作成したdaemon
作成したpsgiアプリを指定してplackupプロセスを常駐させるだけなので、大変シンプルなfedoraのserviceファイルです。daemon登録方法は省略します。
******************

[Unit]
Description=Webkoza PSGI/Plack 2
After=syslog.target
After=network.target
After=webkoza_psgi.service
[Service]
#User=movabletype
#Group=movabletype
Restart=always
SyslogIdentifier=webkoza_psgi2
ExecStart=/****/plackup -p 5002 /***/hogehoge.psgi
[Install]
WantedBy=multi-user.target
******************
(2)Apacheとの連携
httpd.confに下記オレンジ行を追加しました。今回もproxy_moduleを使用します。
***********
<IfModule proxy_module>
ProxyPass /****/cgi-bin/ http://localhost:5001/
ProxyPassReverse /****/cgi-bin/ http://localhost:5001/
ProxyPass /webkoza_psgis/ http://localhost:5002/
ProxyPassReverse /webkoza_psgis/ http://localhost:5002/
</IfModule>
***********
5002番としました。このポートで待っているPlackupプロセスを、今後webkoza.comで作るpsgiのマルチアプリケーション
フレームにする予定です。

第2回は、マルチアプリケーションフレームとして作ったpsgiを紹介します。
第3回は、上記psgiから呼ばれるアプリケーション(パッケージ)を紹介します。

スポンサードリンク