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; } } }