MojoliciousアプリケーションをCGIで動かす時に、スタイルシートや外部JavaScriptファイル、画像など静的ファイルの扱いには注意が必要になる。 これはテンプレートでタグヘルパーを使った時、例えば <%= stylesheet '/css/style.css' %> とスタイルシートを読み込んだつもりだけど、これはスタイルシートを読み込むCGIを実行するのと同じ(スタイルシートのURLにリダイレクト処理するCGIとして実行される) 静的ファイルを呼び出す回数分のCGIが実行されることになるので、パフォーマンスも悪くなることは当然ながら、データベースの接続処理をstar […]
configファイルの読み込み 設定ファイルを読み込む / Mojoliciousリファレンス - サンプルコードによるPerl入門 設定(コンフィグ)ファイルを読み込むにはMojolicious::Plugin::Configを利用します。 というように、Mojoliciousアプリで設定ファイルを使う事ができる。例えば etc/MyApp.conf を読み込むには以下のような感じ。 stash_keyはオプションで設定できる(デフォルトはconfig?) etc/MyApp.conf { # MyApp config # サービス名 SARVICE_NAME => 'hogehog […]
すぐ忘れるし、どこにあったか分からなくなるのでメモ。 Mojolicious - GitHubより引用 package MyApp; use Mojo::Base 'Mojolicious'; use DBIx::Custom; has dbi => sub { my $dbi = DBIx::Custom->connect(...); return $dbi; }; sub startup { my $self = shift; ### YOU MUST NOT CALL dbi() method in starup(). } リンク先にはBad Exampleもあるので参考に。
やっと出来たのでメモ。 起動スクリプト mojo.cgiを #!/usr/bin/env perl use strict; use warnings; use lib "../lib"; use App; app->start('cgi'); exit; こんな感じで呼び出すと通常のCGIとしてならなんの問題もなく実行出来るのだけれど、SpeedyCGIで実行しようとすると初回実行時に不具合が出る(テンプレートが読み込まれない?)上記実行方法でも2回目以降(キャッシュ後)は動作している感じ。 FastCGIやmod_perlでのエントリーは見かけるんだけど、いかんせんマイナーなSpeed […]
perlのWAF(ウェブアプリケーションフレームワーク)である Mojolicious(Mojolicious::Lite)をアップロードだけで使えるのか試してみる。 簡単に使えるフレームワークとして、とりあえず Linux+Apacheで動けばおkという前提で。 なにせフレームワーク初心者の戯事なのでそのあたりは察してください。