PHP cz

Konfiguracja serwerów, usług, itp.
dudeks
Posty: 9
Rejestracja: 26 lutego 2011, 20:07

Post autor: dudeks »

Kod: Zaznacz cały

#! /bin/sh

### BEGIN INIT INFO
# Provides: php-cgi
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: spawns the php-cgi
# Description: spawns the php-cgi
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=php-cgi
DESC=php-cgi

test -x $DAEMON || exit 0

PIDFILE="/var/run/$NAME.pid"
DAEMON="/usr/bin/php-cgi"
SPAWN_FCGI="/usr/bin/spawn-fcgi"
FCGI_PORT=9000
FCGI_USER="www-data"
FCGI_GROUP="www-data"
FCGI_CHILDREN=3

# Include php-cgi defaults if available
if [ -f /etc/default/php-cgi ] ; then
. /etc/default/php-cgi
fi

SPAWN_FCGI_OPTS="-f $DAEMON -a 127.0.0.1 -p $FCGI_PORT -u $FCGI_USER -g $FCGI_GROUP -C $FCGI_CHILDREN -P $PIDFILE"

set -e

. /lib/lsb/init-functions

case "$1" in
  start)
  echo -n "Starting $DESC: "
  start-stop-daemon --start --quiet --pidfile $PIDFILE --exec "$SPAWN_FCGI" -- $SPAWN_FCGI_OPTS || true
  echo "$NAME."
  ;;
    stop)
    echo -n "Stopping $DESC: "
    start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec "$DAEMON" || true
    echo "$NAME."
    ;;
      restart)
      echo -n "Restarting $DESC: "
      start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec "$DAEMON" || true
      sleep 1
      start-stop-daemon --start --quiet --pidfile $PIDFILE --exec "$SPAWN_FCGI" -- $SPAWN_FCGI_OPTS || true
      echo "$NAME."
      ;;
        status)
        status_of_proc -p $PIDFILE "$DAEMON" php-cgi && exit 0 || exit $?
        ;;
          *)
          echo "Usage: $NAME {start|stop|restart|status}" >&2
          exit 1
          ;;
          esac

          exit 0
Nie wiem czego to już przyczyna, może źle ustawione vhosty? Pierwszy raz takie coś ustawiałem.
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Jeszcze:

Kod: Zaznacz cały

cat /etc/default/php-cgi
dudeks
Posty: 9
Rejestracja: 26 lutego 2011, 20:07

Post autor: dudeks »

Kod: Zaznacz cały

dudeks@vz-178-217-184-29:~/samp03$ cat /etc/default/php-cgi
PIDFILE="/var/run/php-cgi.pid"
DAEMON="/usr/bin/php-cgi"
SPAWN_FCGI="/usr/bin/spawn-fcgi"
FCGI_PORT=9000
FCGI_USER="www-data"
FCGI_GROUP="www-data"
FCGI_CHILDREN=0
dudeks@vz-178-217-184-29:~/samp03$
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Kod: Zaznacz cały

FCGI_CHILDREN=
Zmień na 5

Jeśli nie pomoże to spróbuj dopisać:

Kod: Zaznacz cały

PHP_FCGI_MAX_REQUESTS=500
do /etc/defaut/php-cgi, przy czym trzeba będzie to też dodać do wywołania w /etc/init.d/php-cgi

Teraz muszę wyjść, wiec jak nie dasz rady to dopiero potem odpiszę.
dudeks
Posty: 9
Rejestracja: 26 lutego 2011, 20:07

Post autor: dudeks »

Dziękuję.

Od godziny 14:00 do teraz nie padło ani razu, jak będą jeszcze jakieś problemy z tym, to napiszę w tym temacie
Awatar użytkownika
VMLine
Beginner
Posty: 137
Rejestracja: 28 lutego 2011, 08:44
Lokalizacja: Poznań / Słupsk

Post autor: VMLine »

Przeważnie przyczyną błędu są właśnie za niskie limity. Podczas wywoływania stron przez użytkowników limity zostają wyczerpane i php zwyczajnie ,,pada''. Z pewnością

Kod: Zaznacz cały

PHP_FCGI_MAX_REQUESTS=500
w tym wypadku rozwiąże problem.
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

VMLine: całkowita racja. Niemniej on miał również liczbę procesów potomnych ustawioną na 0, więc to też mogło mieć znaczenie. Jak mu cgi nie pada to chyba ok.
dudeks
Posty: 9
Rejestracja: 26 lutego 2011, 20:07

Post autor: dudeks »

Witam ponownie.

Chciałbym się o jeszcze jedną rzecz spytać.
Czy jak dodam nową domenę do serwera, lub subdomeny nakierowywane przez http://freedns.42.pl to muszę dodawać do tych FCGI_CHILDREN większe wartości?
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

FCGI_CHILDREN definiuje ilość procesów potomnych przy wywołaniach skryptów php jako cgi. Nie ma to nic wspólnego z freedns, dyndns itp. Zasada jest prosta: im więcej połączeń z twoją stroną, tym wartości takie jak FCGI_CHILDREN czy PHP_FCGI_MAX_REQUESTS powinny być wyższe. Ilość jaką możesz ustawić zależy z kolei od pamięci twojego serwera.
ODPOWIEDZ