fastcgi problem

Vuki szun at informatik.hu
Wed Dec 28 16:30:14 UTC 2011


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 Zankl <kz at xon.uni.cc>

# 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

:



More information about the nginx mailing list