2011-01-03 15 views
1

私はfastcgi C/C++ toolkitを使用して、テストfastcgiアプリケーションを開発しています。 ツールキットによって提供されたthis exampleをビルドしました(現在テスト中です)。C/C++ FastCGI Developersツールキットのサンプルプログラム(動作しません)

Apache mod_fcgidを読み込み、apache2デーモンを正常に再起動しました。しかし、fastcgiリソースにアクセスしようとすると、空白のページが返されます。

注:

int sock_fd = FCGX_OpenSocket(":5000", 1); 
FCGX_InitRequest(&request, sock_fd, 0); 

私は/ etc/apache2の/改造:私は、サンプルコードを次のように変更し(それが0のデフォルトのソケットのfd値では動作しませんでしたように)作られました

<IfModule mod_fcgid.c> 
    AddHandler fcgid-script .fcgi 
    SocketPath /var/lib/apache2/fcgid/sock 
    IPCConnectTimeout 10 
    IPCCommTimeout 20 
    OutputBufferSize 0 
    MaxRequestsPerProcess 500 
</IfModule> 

マイ/etc/apache2/mods-enabled/fcgid.loadファイルは次のようになります。fcgid.confファイルは次のようになります/ -enabled

LoadModule fcgid_module /my/path/here/libs/mod_fcgid.so 

私は、次のURLを使ってブラウザで 'リソース' をアクセス:

http://127.0.0.1:5000

を私が間違って何をしているのですか? (誰かが動作するように、上記の例は、引用を取得するために、実際に管理していると仮定して)

私は、私はしばらくの間、Apacheを使用していないが、私はあなたのURLを考えるLinuxのUbuntuの上/テストに10.xの

+0

ログ(http://httpd.apache.org/docs/1.3/logs.html)を参照してヒントがあるかどうか確認しましたか? –

+0

@PDI:Apacheのログファイルにはfastcgi(またはfcgid)に関するメッセージはありません – skyeagle

+0

これはロングショットですが、私がfastcgiについて読んだことは、OpenSocket呼び出しがファイルを作成するが、そのファイルにはWebサーバーの接続を許可する正しいアクセス許可。私は、Webサーバーが実行されているユーザーのために、読み書きが必要だと思います。 –

答えて

0

を開発していますあなたのを確認するために、悪い 私はポート80でApacheの実行を前提とし、あなたのecho.fcgiは情報のためのapacheフォルダのルート

であり、私はサーブFCGIアプリケーション用のnginxを使用

http://localhost/echo.fcgi 
0

実行apachctlの-Dでありますmod_fcgidを実行しています。プロセスがクラッシュしたときに出力(つまり、白いページ)が発生しないと思います。

Apacheをデバッグ(-O0 -ggdb)、再デプロイ、再起動してプログラムをコンパイルする必要があります。

Apacheの設定を変更して、1つのプロセスのみを起動します。これによりgdbをFCGIアプリケーションに接続してデバッグすることができます。

さらなる支援が必要な場合はお知らせください。

+0

ああ、PDIの示唆しているように、許可の問題は非常にうまくいく可能性があります。 ApacheがFCGIバイナリを実行する権限を持っていることを確認してください。 –

関連する問題