nginxでCGIを動かす with fcgiwrap (Ruby, Perlなどなど)


nginxでRubyやPerlをfastCGIとして動かす方法です。RubyではRailsはPassengerで動かさないと動きません。

nginxでCGIを動かすにはいくつか方法があるのですが、今回はfcgiwrapを使ってCGIを動かします。まずはfcgiwrapをインストールします。

# apt-get install fcgiwrap

fcgiwrapの起動ファイルを編集します。

# vim /etc/init.d/fcgiwrap

編集箇所は下記のとおりです。存在しない変数名(FCGI_PORTなど)は追加してください。

FCGI_USER="www-data"
FCGI_GROUP="www-data"
FCGI_ADDR="127.0.0.1"
FCGI_PORT="8999"

続いてnginxの設定ファイルです。nginxの設定ファイルはそれぞれ異なりますのでご注意を。

# vim /usr/local/nginx/conf/nginx.conf

nginx.confの内容は下記の通り。

worker_processes  1;

events {
    worker_connections  1024;
}
http {
    gzip on;
    server {
        listen 80;
        server_name localhost;
        error_log  logs/error.log;
        location / {
            root /var/www/localhost;
            index index.html index.htm index.php index.cgi;
        }
        location ~ \.cgi$ {
            root /var/www/localhost;
            include /usr/local/nginx/conf/fastcgi_params;
            fastcgi_pass localhost:8999;
            fastcgi_index index.cgi;
            fastcgi_param SCRIPT_FILENAME /var/www/yourhostname$fastcgi_script_name;
        }
    }
}
  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です