web-dev-qa-db-ja.com

Apache2 / mpm-worker + fcgidを設定するにはどうすればよいですか?

そこに良いtutosはありますか?

現在、効率的ではないApache2/mod_phpを使用しています。

1
apache

実行しているディストリビューションはそれほど重要ではありませんが、CentOSサーバーに使用しているセットアップは次のとおりですが、どちらを使用していても簡単に変換できるはずです。最良の結果を得るには、Apache2用のWorkerMPMとPreforkMPMを使用することをお勧めします。

配布パッケージまたは ソースコード からmod_fastcgiをすでにインストールしていることを前提としています。 mod_fastcgiをインストールしたら、Apache2経由でロードされるように構成されていることを確認したいので、/etc/httpd/conf.d/mod_fastcgi.confで次の内容を含めました。

LoadModule fastcgi_module modules/mod_fastcgi.so

次に、別のファイルを/etc/httpd/conf.d/whatever.conf(Namewhatever本当に欲しいものは何でも、私にとってはwordpress.conf):

<Directory "/path/to/app/docroot">
    Options +ExecCGI
    AddHandler php5-fastcgi .php
    Action php5-fastcgi /cgi-bin/php.fcgi
    DirectoryIndex index.php index.html
    AllowOverride All
</Directory>

これは、cgi-binディレクトリにあることを意味します(私にとっては/var/www/cgi-bin/です。php.fcgiスクリプトとchmod 755スクリプトを作成する必要があります。

#!/bin/bash
### Set PATH ###
PHP_CGI=/usr/bin/php-cgi
PHP_FCGI_CHILDREN=0
PHP_FCGI_MAX_REQUESTS=1000
### no editing below ###
export PHP_FCGI_CHILDREN
export PHP_FCGI_MAX_REQUESTS
exec $PHP_CGI

もちろん、システムによって異なる場合は、PHP_CGIパスを更新してください。 PHP_FCGI_CHILDRENの値を変更することもできます。これを4に設定することをお勧めする人もいますが、0のままにして、パフォーマンスは良好でした。

この時点で、Apache2を再起動して構成を再読み取りできるはずです。クエリを実行する単純なphpinfo()ページを設定すると、ServerAPI設定がCGI/FastCGIと表示されます。

1
Jeremy Bouse

何のディストリビューション?

Ubuntuでmod_phpからmod_fcgidに移行するためのチュートリアルは次のとおりです。

0
iainlbc