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
: