私は現在、次の設定を使用してクライアントのサイトをホストしています。
ApacheはワーカーMPMを使用し、動的なFastCGI構成を介してPHPを提供します:
FastCgiSuexec /usr/sbin/suexec FastCgiConfig -singleThreshold 0 -pass-header Authorization -idle-timeout 3600 SuexecUserGroupユーザーグループ アクションapplication/x-httpd -fastphp /cgi-bin/php.fcgi AddType application/x-httpd-fastphp .php
これはうまく機能しますが、これにより各VirtualHostのphp-cgiインスタンスが作成されるため(cgi-binディレクトリが特定のアカウントで物理的に同じであっても)、クライアントにいくつかのサブドメインがある場合、クライアントは合計を開始し、サーバーを枯渇させ、ゴミ箱に移動しますそれ。
だから、これは私に実際の質問をもたらします、単一のphp-cgiインスタンスを介してアカウントのすべてのphpリクエストを処理することは可能ですか?クライアントがディレクトリ外のファイルを読み取らないように、suexecビットを維持することが望ましい。
個人的な意見を追加する場合があります。
Nginxを使用してください。これは、より速く、よりシンプルで、はるかに簡単に実行できます。(そして使用するメモリがはるかに少なくなります)
私の個人的な好み..:D
https://calomel.org/nginx.html は素晴らしい詳細な例です
仮想ホストごとにfcgid構成がありますか? (グローバルfcgid構成は別として)、つまり、タグ内ですか?
これが問題の考えられる理由の1つであると考えました。これは、すべてのWebアカウントに共通のファイルシステムパスにfcgid構成を追加することで解決できます(たとえば、/ etc/Apache2 /)。 sites-enabled/000-default(Ubuntuを使用している場合):
NameVirtualHost SOME-IP-ADDRESS:80
<Directory /some-path/webaccounts/>
AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php
</Directory>
<VirtualHost SOME-IP-ADDRESS:80>
...
少なくとも、2Gb RAMマシン(Ubuntu 8.04)で20〜30個のvhostを使用してfcgidを問題なく使用しており、上記のように設定しています。