2

Apacheとfastcgiを使用して最初のPerlCatalystアプリケーションを実行しようとしています。

サーバーの起動は問題ありません。アプリケーションのメインページが表示されます。すべての画像/JavaScriptが正しく読み込まれます(したがって、静的コンテンツが正しく提供されると思います)。

動的コンテンツが404を提供することを理解していない理由で、たとえばwww.webapp.org/searchにアクセスしようとすると、「要求されたURL/searchがこのサーバーで見つかりませんでした」というメッセージが表示されます。

わかりました。静的コンテンツのエイリアスを設定する方法は次のとおりです。

Alias /static /webapp/root/static/
Alias / /webapp/script/webapp_fastcgi.pl

documentrootを次のように設定します

DocumentRoot /webapp/

さらに、私は

 <Location />
     Options +ExecCGI 
     Order allow,deny
     Allow from all
     AddHandler fcgid-script .pl
 </Location>

およびディレクティブ

<Files /webapp/script/webapp_fastcgi.pl> 
    PassEnv PERL5LIB 
    SetHandler fastcgi-script
</Files>

設定ファイルには他に何もありません。

動的コンテンツ(www.webapp.com/search)の提供を許可するディレクティブを追加するにはどうすればよいですか?

よろしくお願いします!

4

1 に答える 1

2

AddHandler セクションにスペースがあります。構成ファイルにタイプミスがないか確認してください。

AddHandler fcgid-script .pl

また、まだ読んでいない場合は、これを読んでください。

http://wiki.catalystframework.org/wiki/deployment/apache_fastcgi

開発作業では、Apache の手間をかけずにCatalyst を使用できます: http://search.cpan.org/~mramberg/Catalyst-Runtime-5.80012/lib/Catalyst/Engine/FastCGI.pm#Standalone_FastCGI_Server

apxs が mod_fastcgi.so を /usr/local/apache/libexec にインストールしたと仮定して、次を Apache .conf ファイルに追加します。

LoadModule fastcgi_module libexec/mod_fastcgi.so
<IfModule mod_fastcgi.c>
  FastCgiExternalServer /tmp/myapp.fcgi -host myhost:8081
  Alias /myapp/    /tmp/myapp.fcgi/
</IfModule>
于 2013-02-13T15:35:49.143 に答える