Fastcgi problem

Hi All!

I have got a problem with my fastcgi backend.
A have a fastcgi server listening on a TCP docket (also tried unix
socket as well).
The fastcgi server randomly dies.
There is nothing in the nginx error log, nor in the php error log, nor
in syslog.

How, where can i find debugging information about fastcgi backend?

thanks!


Settings for php-cgi in external FASTCGI Mode

Should php-fastcgi run automatically on startup? (default: no)

START=yes

Which user runs PHP? (default: www-data)

EXEC_AS_USER=informatik_php
EXEC_AS_GROUP=informatik_php

Host and TCP port for FASTCGI-Listener (default: localhost:9000)

FCGI_HOST=127.0.0.1
FCGI_PORT=6001

Environment variables, which are processed by PHP

FCGI_CHILDREN=4
FCGI_MAX_REQUESTS=50
FCGI_SOCKET=/var/run/fastcgi/informatik.hu

CONFIG_DIR=/home/informatik.hu


#! /bin/sh

BEGIN INIT INFO

Provides: php-fastcgi-informatik

Required-Start: $all

Required-Stop: $all

Default-Start: 2 3 4 5

Default-Stop: 0 1 6

Short-Description: Start and stop php-cgi in external FASTCGI mode

Description: Start and stop php-cgi in external FASTCGI mode

END INIT INFO

Author: Kurt Z. [email protected]

Do NOT “set -e”

PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC=“php-cgi in external FASTCGI mode”
NAME=php-fastcgi-informatik
DAEMON=/usr/bin/php-cgi
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

Exit if the package is not installed

[ -x “$DAEMON” ] || exit 0

Read configuration variable file if it is present

[ -r /etc/default/$NAME ] && . /etc/default/$NAME

Load the VERBOSE setting and other rcS variables

. /lib/init/vars.sh

Define LSB log_* functions.

Depend on lsb-base (>= 3.0-6) to ensure that this file is present.

. /lib/lsb/init-functions

If the daemon is not enabled, give the user a warning and then exit,

unless we are stopping the daemon

if [ “$START” != “yes” -a “$1” != “stop” ]; then
log_warning_msg “To enable $NAME, edit /etc/default/$NAME and
set START=yes”
exit 0
fi

Process configuration

export FCGI_CHILDREN FCGI_MAX_REQUESTS
DAEMON_ARGS=“-q -b $FCGI_SOCKET -c $CONFIG_DIR”

do_start()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec
$DAEMON --test > /dev/null
|| return 1
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec
$DAEMON
–background --make-pidfile --chuid
$EXEC_AS_USER:$EXEC_AS_GROUP --startas $DAEMON –
$DAEMON_ARGS
|| return 2
}

do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5
–pidfile $PIDFILE > /dev/null # --name $DAEMON
RETVAL=“$?”
[ “$RETVAL” = 2 ] && return 2
# Wait for children to finish too if this is a daemon that
forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other
code
# that waits for the process to drop all resources that could
be
# needed by services started subsequently. A last resort is to
# sleep for some time.
# start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5
–exec $DAEMON
[ “$?” = 2 ] && return 2
# Many daemons don’'t delete their pidfiles when they exit.
rm -f $PIDFILE
return “$RETVAL”
}

case “$1” in
start)
[ “$VERBOSE” != no ] && log_daemon_msg “Starting $DESC” “$NAME”
do_start
case “$?” in
0|1) [ “$VERBOSE” != no ] && log_end_msg 0 ;;
2) [ “$VERBOSE” != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ “$VERBOSE” != no ] && log_daemon_msg “Stopping $DESC” “$NAME”
do_stop
case “$?” in
0|1) [ “$VERBOSE” != no ] && log_end_msg 0 ;;
2) [ “$VERBOSE” != no ] && log_end_msg 1 ;;
esac
;;
restart|force-reload)
log_daemon_msg “Restarting $DESC” “$NAME”
do_stop
case “$?” in
0|1)
do_start
case “$?” in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still
running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
echo “Usage: $SCRIPTNAME {start|stop|restart|force-reload}” >&2
exit 3
;;
esac

: