仕事で、Dancerというのを知ったわけですが、最初、これが何なのかさっぱり分からなかった。
要するに、Perl とか、Ruby で動くWebサーバっていうことなのね
何が良いかっていうと、Perl とか Ruby みたいなスクリプトって、多くはWebサービスのバックエンドとして動くわけですが、CGIとして動かすとApachみたいなWebサーバが居て、これがリクエストを受け取ったら、CGI として Perl なり Ruby なりを起動して、結果を受け取ってまた Web サーバがクライアントに結果を返す。
こうすると、Web リクエストのたびに、Perl なり Ruby なりが起動するから、プロセス起動とスクリプトのコンパイルが毎回走って、無駄が大きいわけです。
だから、Perl とか Ruby そのものが Web サーバとして動けば、無駄が省けますね♪ という考え方。
ちうわけで、まずは使える環境を作ることから。
- Dancer は、Perl CPAN を使ってインストールする。
実は私、CPANというのを始めてつかったのです。しーぱんと読むそうです。しーぽんではない
% cpan Dancer
と打てば、インストールできちゃうんですが、一つハマりました。
% cpan
Terminal does not support AddHistory.
Could not lock lockfile with flock: No such file or directory; retrying
Could not lock lockfile with flock: Operation not supported; retrying
Could not lock lockfile with flock: Operation not supported; retrying
Could not lock lockfile with flock: Operation not supported; retrying
Could not lock lockfile with flock: Operation not supported; retrying
こんな感じで、cpan コマンドが Lock ファイルがつくれねー!と文句を言い続けるという現象がでました。
原因は、home ディレクトリを NFS 上に置いた一般ユーザで実行してしまったこと。NFS 上のファイルって排他ロックができないんですよね。だから、ずーっと Lock ファイルを作ろうとして失敗し続けるという現象になってしまう。
home を、/root にもつ root ユーザで実行しましょう。
- sinatra は、Ruby gem を使ってインストールする
gem も CPAN と同じように、スクリプト環境にモジュールを追加するツール
# gem install sinatra
これだけでインストール完了
とりあえず、今日はインストールしたところで終了