2012-01-23
購入: 11人 クリック: 142回
2011-08-16
2011-06-04
■[perl][mojolicious][memo]Mojolicious::Liteでstaticファイルのpathを変える
use Mojolicious::Static; my $static = Mojolicious::Static->new; $static->root('static'); app->static($static);
Mojolicious::Liteはappを使ってるので$selfの代わりにappに渡したらうまくいったし、これでいいんかなー
参考:Mojoliciousでstaticファイルのpathを変える
■[perl][Mojolicious][memo]Mojolicious::LiteでテンプレートにTenjinを使う
use Mojolicious::Lite; use Tenjin; get '/' => sub { my $self = shift; $self->render( 'index', handler => 'tenjin', foo => 'bar' ); }; app->renderer->add_handler( tenjin => sub { my ($r, $c, $output, $options) = @_; my $tenjin = Tenjin->new({ path => ['templates'] }); my $stash; for (keys %{$c->stash}) { $stash->{$_} = $c->stash->{$_} unless $_ =~ /mojo/; } $$output = $tenjin->render($options->{template}.'.tenjin', $stash); } ); app->start;
基本的にはこの辺参照
Mojolicious::Guides::Rendering
Tenjinではテンプレートに渡すデータ「{foo=>'bar'}」を「$foo='bar'」と変数に変換して展開するが、Mojoliciousでは$c->stashにデータだけでなく'mojo.captures'のようなドット付きのキーがいくつか入っていて変数展開しようとすると文字列結合しようとしてエラーが出るのでそれらを除いた分だけを渡す
2011-05-19 php-fpmを使ってCodeIgniterを動かしてみたメモ
■[php][php-fpm][nginx][codeigniter]php-fpmを使ってCodeIgniterを動かしてみたメモ
勉強会に行く前に一回でも動かしておかないとね、ということでやってみました
普段使ってるVPSはフロントにnginx使っていて今更apache復活させるのもないかなーと思ってphp-fpmを使ってCodeIgniterを動かすのを試みました*1
sudo yum install php sudo yum install mysql
あ、fpm有効になってない・・・
sudo yum remove php
ふぅー・・・
>CentOS 5.5 php 5.3.3 fpm(FastCGI Process Manager)を使ってみる
http://d.hatena.ne.jp/IT7C/20101003/1286082204
>CentOS 5.5にlibevent-1.4.13 をインストール
http://d.hatena.ne.jp/IT7C/20101003/1286083759
あたりを参考に、まずlibeventを入れる
あと確かphpのインストールを一回試してみてエラーが出たので先に
sudo yum install libxml2-devel
を入れておく
今回はfpmだけあればいいやって事で
./configure --enable-fpm make sudo make install
また、/usr/local/etc/php-fpm.confの変更は
>nginx + PHP-FPMでWordPressを動かしてみる
http://blog.iss.ms/2011/01/08/130929
を参考に適当にいじってみました
sudo /usr/local/sbin/php-fpm
cphp-fpm.confでデフォルト設定された通りにすると9000番で立ち上がる
後はnginxから振り分けて終了
server {
listen 80;
server_name codeigniter.example.com;
root /path/to/codeigniter;
index index.php;
location / {
if (-f $request_filename) {
break;
}
if (!-e $request_filename) {
rewrite ^(.+)$ /index.php?q=$1 last;
}
}
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /usr/local/nginx/conf/fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
そういえばphp-fpmの終了のさせ方がよく分からなかったのでmaster processをkillして終了させました
----


