本記事のソースコードの利用によって生じた損害について、当方は一切の責任を負いません。ご自身の判断と責任のもとで参照・ご利用ください。
この記事は最終更新から14年以上経過しています。
お約束
いつものアレです。参照は自己責任でお願いします。参照サイト
MovableType.jpの「FastCGIのインストールと設定」を参照しました。環境
CentOS5.7 64bitやったこと
FCGIモジュール、CGI::Fastモジュールをcpanからインストール# cpan FCGI # cpan CGIhttpd-develのインストール
# yum install httpd-develFastCGIライブラリのダウンロードとインストール
# wget http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz # tar zxvf fcgi-2.4.0.tar.gz -C /usr/local/src # cd /usr/local/src/fcgi-2.4.0 # ./configure # make # make installmod_fcgidのダウンロードとインストール
# wget http://ftp.riken.jp/net/apache/httpd/mod_fcgid/mod_fcgid-2.3.6.tar.gz # tar zxvf mod_fcgid-2.3.6.tar.gz -C /usr/local/src/ # cd /usr/local/src/mod_fcgid-2.3.6/ # ./configure.apxs # make # make installFastCGIの設定 mod_fcgid.soがapacheの設定ファイルに追加されていることを確認
# vi /etc/httpd/conf/httpd.conf # LoadModule fcgid_module /usr/lib64/httpd/modules/mod_fcgid.so設定ファイルを新規作成
# vi /etc/httpd/conf.d/fcgid.conf
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
SocketPath /tmp/fcgid_sock/
IPCConnectTimeout 20
MaxProcessCount 8
DefaultMaxClassProcessCount 2
TerminationScore 10
SpawnScore 80
IdleTimeout 300
</IfModule>
Apacheの設定変更。以下の設定を追加する
# vi /etc/httpd/conf/httpd.conf
<Directory "/var/www/cgi-bin/mt">
AllowOverride None
Options None
Order allow,deny
Allow from all
<FilesMatch "^mt(?:-(?:comments|search|ftsearch|tb|cp))?\.cgi$">
SetHandler fcgid-script
</FilesMatch>
</Directory>
webサーバ再起動
# service httpd restart再起動後、記事を書いて下書き保存を実行したら「Internal Server Error」を返されてしまいました。エラーログ見て下記のエントリーを参考にして解決できました。
mod_fcgid: read data timeout in 40 seconds
# vi /etc/httpd/conf.d/fcgid.conf
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
SocketPath /tmp/fcgid_sock/
IdleTimeout 3600
ProcessLifeTime 7200
MaxProcessCount 1000
DefaultMinClassProcessCount 3
DefaultMaxClassProcessCount 100
IPCConnectTimeout 8
IPCCommTimeout 360
BusyTimeout 300
</IfModule>
体感としては高速化した実感がありません。設定がおかしいのかな?