本記事のソースコードの利用によって生じた損害について、当方は一切の責任を負いません。ご自身の判断と責任のもとで参照・ご利用ください。
この記事は最終更新から13年以上経過しています。
お約束
いつものアレです。参照は自己責任でお願いします。参照サイト
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>体感としては高速化した実感がありません。設定がおかしいのかな?