Forum

FastCGI perl

Sparcler
20 April 2010, 11:52
Hi, I'm trying to use FastCGI with perl and it is going nowhere fast, all I get when I try is "503 - Service Unavailable". can anyone please tell me what I'm doing wrong, here is my hiawatha.conf, I have hiawatha working with normal cgi.

# Hiawatha main configuration file
#


# GENERAL SETTINGS
#
#ServerId = www-data
ConnectionsTotal = 150
ConnectionsPerIP = 10
SystemLogfile = /var/log/hiawatha/system.log
GarbageLogfile = /var/log/hiawatha/garbage.log


# BINDING SETTINGS
# A binding is where a client can connect to.
#
Binding {
Port = 80
# Interface = 127.0.0.1
# MaxKeepAlive = 30
# TimeForRequest = 3,20
}
#
#Binding {
# Port = 443
# Interface = ::1
# MaxKeepAlive = 30
# TimeForRequest = 3,20
# SSLcertFile = hiawatha.pem
#}


# BANNING SETTINGS
# Deny service to clients who misbehave.
#
#BanOnGarbage = 300
#BanOnMaxPerIP = 60
#BanOnMaxReqSize = 300
#KickOnBan = yes
#RebanDuringBan = yes


# COMMON GATEWAY INTERFACE (CGI) SETTINGS
# These settings can be used to run CGI applications. Use the 'php-fcgi'
# tool to start PHP as a FastCGI daemon.
#
#CGIhandler = /usr/bin/perl:pl
#CGIhandler = /usr/bin/php-cgi:php
#CGIhandler = /usr/bin/python:py
#CGIhandler = /usr/bin/ruby:rb
#CGIhandler = /usr/bin/ssi-cgi:shtml
CGIextension = cgi
#
#FastCGIserver {
# FastCGIid = PHP5
# ConnectTo = 10.0.0.100:2005, 10.0.0.101:2005
# Extension = php, php5
# SessionTimeout = 30
#}
FastCGIserver {
FastCGIid = PERL
ConnectTo = 127.0.0.1:2005
Extension = pl
# SessionTimeout = 30
}


# URL TOOLKIT
# This URL toolkit rule was made for the Banshee PHP framework, which
# can be downloaded from http://www.hiawatha-webserver.org/banshee
#
#UrlToolkit {
# ToolkitID = banshee
# RequestURI isfile Return
# Match ^/(css|files|images|js)/ Return
# Match ^/(favicon.ico|robots.txt|sitemap.xml)$ Return
# Match .*\?(.*) Rewrite /index.php?$1
# Match .* Rewrite /index.php
#}


# DEFAULT WEBSITE
# It is wise to use your IP address as the hostname of the default website
# and give it a blank webpage. By doing so, automated webscanners won't find
# your possible vulnerable website.
#
Hostname = 190.168.25.6
WebsiteRoot = /var/www/hiawatha
StartFile = index.html
AccessLogfile = /var/log/hiawatha/access.log
ErrorLogfile = /var/log/hiawatha/error.log
#ErrorHandler = 404:/error.cgi


# VIRTUAL HOSTS
# Use a VirtualHost section to declare the websites you want to host.
#
VirtualHost {
#Hostname = 192.168.25.23
Hostname = piggiebank
WebsiteRoot = /var/www/piggiebank/public
StartFile = index.html
AccessLogfile = /var/www/piggiebank/log/access.log
ErrorLogfile = /var/www/piggiebank/log/error.log
ExecuteCGI = yes
# TimeForCGI = 5
UseFastCGI = PERL
# UseToolkit = banshee
}

Hiawatha version: 7.1
Operating System: Debian Linux
Hugo Leisink
20 April 2010, 11:58
Do you have a FastCGI daemon listening on port 2005? Your Perl application must be ready to handle FastCGI as well. My guess is that that's not the case. An example about how a FastCGI enabled Perl script looks like can be found here. And don't forget to read the FastCGI section of the CGI and FastCGI HOWTO.

FastCGI is not a simple switch-on thing. Unless you use PHP, which does all the fancy FastCGI stuff for you.
This topic has been closed.