CentOS 6
Sponsored Link

Nginx - Perlを動作させる
2013/07/08
 
Nginx で Perl が動作するよう設定します。
ここでは、fcgiwrap + spawn-fcgi を使って実装してみることにします。
[1] まずは必要なものをインストールしておきます。
[root@www ~]#
yum --enablerepo=epel -y install spawn-fcgi fcgi-devel
 
# EPELからインストール

[root@www ~]#
yum -y groupinstall "Development Tools"

[2] fcgiwrap インストール
[root@www ~]#
wget http://github.com/gnosek/fcgiwrap/tarball/master -O fcgiwrap.tar.gz

[root@www ~]#
tar zxvf fcgiwrap.tar.gz

[root@www ~]#
cd gnosek-fcgiwrap-*

[root@www gnosek-fcgiwrap-4b2151e]#
autoreconf -i

[root@www gnosek-fcgiwrap-4b2151e]#
./configure

[root@www gnosek-fcgiwrap-4b2151e]#
make

[root@www gnosek-fcgiwrap-4b2151e]#
make install

install -d -m 755 /usr/local/sbin
install -m 755 fcgiwrap /usr/local/sbin
install -d -m 755 /usr/local/man/man8
install -m 644 fcgiwrap.8 /usr/local/man/man8
[3] Nginx 設定
[root@www ~]#
vi /etc/sysconfig/spawn-fcgi
# 最終行に追記

OPTIONS="-u nginx -g nginx -a 127.0.0.1 -p 9001 -P /var/run/spawn-fcgi.pid -- /usr/local/sbin/fcgiwrap"
[root@www ~]#
vi /etc/nginx/conf.d/default.conf
   
# server セクション内の適当な位置に設定を追記

    location ~ \.pl|cgi$ {
        fastcgi_pass   127.0.0.1:9001;
        fastcgi_index  index.cgi;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        /etc/nginx/fastcgi_params;
    }

[root@www ~]#
/etc/rc.d/init.d/nginx restart

Stopping nginx: [ OK ]
Starting nginx: [ OK ]
[root@www ~]#
/etc/rc.d/init.d/spawn-fcgi start

Starting spawn-fcgi: [ OK ]
[root@www ~]#
chkconfig spawn-fcgi on
[4] CGIテストページを作成して動作確認をしてください。 作成したテストページにWebブラウザでアクセスして、以下のようなページが表示されればOKです。
[root@www ~]#
vi /usr/share/nginx/html/index.cgi
#!/usr/bin/perl

print "Content-type: text/html\n\n";
print "<html>\n<body>\n";
print "<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">\n";
print "CGI Test Page";
print "\n</div>\n";
print "</body>\n</html>\n";

[root@www ~]#
chmod 705 /usr/share/nginx/html/index.cgi

 
Tweet