ApacheのCGIとして、なでしこを実行しよう *

以下の手順で、なでしこで記述したプログラムを、CGIとして動かすことはできます。

手順の準備 *

ApacheでCGIを実行するように設定する方法 *

Apacheの設定ファイル(例えば)『/etc/httpd/conf/httpd.conf』を編集します。

<Directory "/var/www/html">
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>
AddHandler cgi-script .nako3 .nako .cgi

Apacheのサービスを再起動します。

sudo service httpd restart

なでしこ3のサンプル例 *

以下を「a.nako3」という名前で保存し、一行目のなでしこ3のインストールパスを変更します。

#!/var/www/html/node_modules/.bin/cnako3

RR = 1 + (6の乱数)。
RRR = 99999の乱数

「Content-Type: text/html{LF}{LF}」を表示。
「<html><body>
<h1>なでしこでCGI</h1>
<div>
なでしこで、CGIを実行しました。
</div>
<h1>サイコロ6面体: {RR}</h1>
<h1>サイコロ99999面体: {RRR}</h1>
<a href="./a.nako3?r={RRR}">リロード</a>
</body></html>」と表示。

ブラウザで「http:(アドレス)/a.nako3」にアクセスするとHTMLが表示されます。

実行効率の問題 *

Node.jsでなでしこが動いている関係ですが、CGIで動作させる場合、実行効率がそれほどよくありません。効率よく動かすには、plugin_expressを利用して、アプリ版のサーバーを利用すると良いでしょう。