![]() |
![]() |
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. Video IV Convegno gt guarda in video le relazioni dei migliori Esperti SEO Italiani: clicca qui.Esperienze, conoscenze, tecniche in 14 ore di pura condivisione SEO. |
|
|||||||||
Hey Amico Visitatore, Condividi con noi le tue idee e la tua conoscenza Aprendo una nuova discussione nella sezione Server |
|
|
LinkBack | Strumenti di discussione |
|
|
#1 (permalink) | ||
|
Non iscritto
Data di registrazione: Oct 2007
Messaggi: 430
|
[nginx]PHP-fastcgi connection refused
Ho installato nginx e php su debian e ubuntu solo che quando provo ad aprire un file php mi cmpare una pagina d'errore(tipo 500) e nel log errori compare questo:
Quote:
Quote:
ho saltato qualche passaggio? ![]() | ||
|
|
|
|
|
#2 (permalink) |
|
Moderatore
Data di registrazione: Apr 2005
Ubicazione: San Cipriano Beach
Messaggi: 3,833
|
beh direi di si, perchè l'utente e il gruppo sono entrambi lighttpd? in questo caso nginx non ha i permessi per interfacciarsi a fastcgi
dai un'occhiata qui http://blog.codefront.net/2007/06/11...n-init-script/ |
|
|
|
|
|
#4 (permalink) |
|
Moderatore
Data di registrazione: Apr 2005
Ubicazione: San Cipriano Beach
Messaggi: 3,833
|
allora adesso ti spiego tecnicamente come funziona fastcgi
in primo luogo devi modificare il file di configurazione di nginx per il dominio dove vuoi usare gli script php ad esempio Codice:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:12384;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www/miosito.com/html$fastcgi_script_name;
include conf/fastcgi_params;
}
questa prima parte dice a nginx che deve inviare i file .php al server in ascolto su localhost alla porta 12384 ovviamente il server è stato precedentemente tramite questo script Codice:
#!/bin/sh # /opt/etc/init.d/S79php-fcgi # # NSLU2 spawn-fcgi script for lighttpd # ## ABSOLUTE path to the spawn-fcgi binary SPAWNFCGI="/usr/bin/spawn-fcgi" ## ABSOLUTE path to the PHP-FCGI binary FCGIPROGRAM="/usr/bin/php-cgi" ## ABSOLUTE path and name of PID-file for spawed process FCGIPID="/var/run/php-fcgi.pid" ## TCP port or socket to bind to #FCGISOCKET="/tmp/php-fcgi.sock" FCGIPORT="12384" FCGIADDRESS="127.0.0.1" ## number of PHP children to spawn (min 2) PHP_FCGI_CHILDREN=2 ## maximum number of requests a single PHP process can serve before it is restarted PHP_FCGI_MAX_REQUESTS=200 ## IP addresses from which PHP should access server connections FCGI_WEB_SERVER_ADDRS="127.0.0.1" ## Allowed environment variables, separated by spaces ALLOWED_ENV="PATH SHELL USER" ## user and group to run PHP-FCGI USERID=www GROUPID=www ################## no config below this line if [ -z "$1" ] ; then case `echo "$0" | /bin/sed 's:^.*/\(.*\):\1:g'` in S??*) rc="start" ;; K??*) rc="stop" ;; *) rc="usage" ;; esac else rc="$1" fi case "$rc" in start) echo -n "Starting PHP-FCGI: " export PHP_FCGI_MAX_REQUESTS export FCGI_WEB_SERVER_ADDRS ALLOWED_ENV="$ALLOWED_ENV PHP_FCGI_MAX_REQUESTS FCGI_WEB_SERVER_ADDRS" if [ -n "$FCGISOCKET" ]; then EX="$SPAWNFCGI -s $FCGISOCKET -f $FCGIPROGRAM -P $FCGIPID -C $PHP_FCGI_CHILDREN -u $USERID" elif [ -n "$FCGIPORT" ]; then EX="$SPAWNFCGI -a $FCGIADDRESS -p $FCGIPORT -f $FCGIPROGRAM -P $FCGIPID -C $PHP_FCGI_CHILDREN -u $USERID" else echo "- ERROR - socket or port must be specified!" exit 0 fi E= for i in $ALLOWED_ENV; do eval "x=\$$i" E="$E $i=$x" done env - $E $EX echo ok ;; stop) if [ -n "`pidof php-fcgi`" ]; then echo -n "Stopping PHP-FCGI: " killall php-fcgi 2> /dev/null echo ok fi ;; restart) "$0" stop sleep 3 "$0" start ;; *) echo "Usage: $0 (start|stop|restart|usage)" ;; esac a mio avviso dovresti avviare il demone così Codice:
/opt/script-cgi -a 127.0.0.1 -p 8888 -u nginx -g nginx -f /opt/php/bin/php-cgi |
|
|
|
|
|
#6 (permalink) | ||||
|
Non iscritto
Data di registrazione: Oct 2007
Messaggi: 430
|
Quote:
Quote:
Quote:
PS:questi errori li ho sia in locale che in remoto sempre debian Quote:
| ||||
|
|
|
|
|
#7 (permalink) | |
|
Moderatore
Data di registrazione: Apr 2005
Ubicazione: San Cipriano Beach
Messaggi: 3,833
|
Quote:
dipende, su Ubuntu c'è un apposito programma per stabilire quali servizi verranno avviati comunque per avviare un servizio pure benissimo aprire il terminale, loggarti come root e scrivere /etc/init.d/nome-servizio start se ti dice No input file specified vuol dire che nginx comunica con php, manca quella roba nel file nginx.conf | |
|
|
|
|
|
#8 (permalink) | |
|
Non iscritto
Data di registrazione: Oct 2007
Messaggi: 430
|
Quote:
Ti ringrazio Paolino cmq non dovrebbero esserci problemi a far partire php con la tecnica che ho usato io ho quella con init.d descritta da te e piu' sicura? | |
|
|
|
|
|
#9 (permalink) | |
|
Moderatore
Data di registrazione: Apr 2005
Ubicazione: San Cipriano Beach
Messaggi: 3,833
|
Quote:
gli script per avviare i demoni sono quelli in /etc/init.d | |
|
|
|