myapp_server.pl上だと普通に動くのに、FastCGIで動かすと規定のControllerにリクエストが飛ばない事態が発生。 MyApp::Controller::Admin, MyApp::Controller::Admin::Userという2つのControllerがある時に、/admin/*へのリクエストは問題ないが、/admin/user/*をリクエストしてもM::C::Admin::Userが呼ばれない。何故かRoot.pmがリクエストを受け取ってしまう。 Catalyst::Controller::Resourceとか使ってわりと複雑なDispatch構成になってるのが原因だろうかと思って、Controllerの構成をいろいろ変更したりしても何も解決しなくて困っていたら、牧さんとこで同じ症状を発見。 Catalyst on FastCGI lighttpd + Fa
メモしておきます。 1. プロセスマネージャに以下のように attach する(-ff は fork したプロセスにも自動で attach してくれる) $ sudo strace -ff -o fastcgi_strace_log -p <fcgi プロセスマネージャの PID>2. fcgi サーバーのプロセスを殺す $ sudo pkill application.fcgi3. すると、プロセスマネージャが新しい fcgi サーバーのプロセスを立ち上げるので、そのプロセスに strace で attach できる $ ls fastcgi_strace_log.<fcgi サーバーの PID> fastcgi_strace_log.<fcgi サーバーの PID> fastcgi_strace_log.<fcgi サーバーの PID> fastcgi_strace_log.<fcgi
半日に及ぶ試行錯誤の結果 最新版 lighttpd(1.4.15) バーチャルホストを有効 fastcgi を使用 複数 Catalyst アプリの実行 に成功したので、その設定をメモしておきます。お金がないので、とりあえずひとつのサーバーでサービスをたくさん起動したい、という時に使える方法です。 pcre のインストール これがインストールされていないとまともに動かないので、先にインストールします。 $ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.1.tar.gz $ tar xvzf pcre-7.1.tar.gz $ cd pcre-7.1 $ ./configure $ make $ sudo make install ligttpd のインストール さきほどインストールした pcre を有効に
前の記事へ « [JavaScript] 星(★)で評価するフォーム | トップページ | [perl][POE] POEで簡単なチャットサーバーを作る 次の記事へ 2007年09月19日 [Perl][FastCGI] FastCGIで環境変数%ENVがとれない件について 複数のドメイン環境に対応するため、CGIの最初の方で環境変数%ENVを見て設定を変えたい。 で、以下のようなCGIをFastCGIとして走らせてみたところ、$ENV{SERVER_NAME}を取得することができなかった。 #!/usr/bin/perl use CGI::Fast qw(:standard); my $server = $ENV{SERVER_NAME}; while (new CGI::Fast) { print header; print start_html("testhoge"); print
Catalyst のFastCGIスクリプトを走らせるshスクリプト daemontoolsでfastcgiプロセスを管理しようと思ってとりあえず書いてみた。 #!/bin/sh # # Copyright (c) 2007 Daisuke Maki <daisuke@endeworks.jp> # All rights reserved. # # fastcgi.sh # Runs catalyst based application's fastcgi script via daemontools' # softlimit script. You should call this script from a specific 'run' # script like so # # #!/bin/sh # /path/to/fastcgi.sh -s myapp.mydomain.com
DreamHost を使い始めて 1 週間が立ちました。ドメインの移行も無事に終わり、コンテンツの移動も完了したんですが、どうにもこうにも Movable Type が重いんですよ。むしろ今まで3年間使ってきたロリポップ!の方が速度的には早いかもと思えてくる。 Movable Type を快適に動作するようにするには mod_perl 下の環境で使えば早くはなるんですが、DreamHost に mod_perl はインストールされていません。しかし代わりに DreamHost には FastCGI という mod_perl と同等な Apache モジュールが組み込まれています。そしてタイミングがいいことに MT3.34 では FastCGI のサポートが向上したとのことなので、MT のバージョンを上げるついでに今までの CGI 環境から FastCGI 環境に移行してみました。 以下に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く