NginxでPerl

Nginx でPerlを使う場合、FastCGIでNginxとPerlを繋ぐ。

Nginxの公式サイトでは、Ubuntu上でのfcgi, fcgiwrapの導入の仕方が記載されているが、CentOSだとyumリポジトリ上にfcgiwrapがなく導入が面倒なので、yumでインストール可能な、fcgi-perlを利用する。

まずは、epelレポジトリの用意。

$ rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

続いてfcgi-perlのインストール。

$ yum install fcgi-perl --enablerepo=epel

/usr/local/nginx/conf/nginx.confを編集。

server {
    ....
    location ~ \.cgi$ {
       gzip           off;
       fastcgi_pass   127.0.0.1:8999;
       fastcgi_index  index.cgi;
       fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
       include        fastcgi_params;
    }
    ....
}

あとは、ここに従って、fcgi-perlをデーモンで実行するスクリプトと、initに登録するスクリプトを作成して完了。

 

■参考文献