Scopri la nuova barra del network gt: dacci il tuo feedback. clicca qui X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


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.

Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Web Server > Server
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti

Server Gestione e fornitura servizi web

Hey Amico Visitatore,
Condividi con noi le tue idee e la tua conoscenza Aprendo una nuova discussione nella sezione Server


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 21-07-08, 13:22   #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:
2008/07/21 01:14:45 [error] 8921#0: *19 connect() failed (111: Connection refused) while connecting to upstream, client: ****************, server: _*, request: "GET /info.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:8888", host: "**************"
ho compilato php con il supporto fastcgi poi ho seguito questa guida facendo partire lo script usando questo comando:
Quote:
/opt/script-cgi -a 127.0.0.1 -p 8888 -u lighttpd -g lighttpd -f /opt/php/bin/php-cgi
e infine ho aperto la porta 8888 in iptables.
ho saltato qualche passaggio?
Angelbit88 non in linea  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Segnalo this Post!OKNO this Post!
Rispondi citando
Vecchio 22-07-08, 12:07   #2 (permalink)
Moderatore
 
L'avatar di paolino
 
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/
__________________
paolino non in linea  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Segnalo this Post!OKNO this Post!
Rispondi citando
Vecchio 25-07-08, 20:59   #3 (permalink)
Non iscritto
 
Data di registrazione: Oct 2007
Messaggi: 430
nada ho fatto partire lo script senza niente (./script-cgi) e mi da in uscita questa stringa:
Quote:
/bin/su -m -c "/opt/php/bin/php5-cgi -q -b 127.0.0.1:9000" www
Angelbit88 non in linea  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Segnalo this Post!OKNO this Post!
Rispondi citando
Vecchio 25-07-08, 21:11   #4 (permalink)
Moderatore
 
L'avatar di paolino
 
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
noterai che usa il programma /usr/bin/spawn-fcgi che è specifico per archlinux, sicuramente c'è una cosa simile per la tua distribuzione e credo sia /opt/script-cgi

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
poi modificare il file nginx.conf come ho scritto sopra, riavviare nginx e dovrebbe andare
__________________
paolino non in linea  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Segnalo this Post!OKNO this Post!
Rispondi citando
Vecchio 25-07-08, 21:13   #5 (permalink)
Moderatore
 
L'avatar di paolino
 
Data di registrazione: Apr 2005
Ubicazione: San Cipriano Beach
Messaggi: 3,833
p.s. per semplificare la cosa ho trovato una guida specifica che indica come installare nginx e fastcgi su ubuntu feisty

http://www.howtoforge.com/nginx_php5_fast_cgi_xcache_ubuntu7.04
__________________
paolino non in linea  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Segnalo this Post!OKNO this Post!
Rispondi citando
Vecchio 25-07-08, 22:46   #6 (permalink)
Non iscritto
 
Data di registrazione: Oct 2007
Messaggi: 430
Quote:
questa prima parte dice a nginx che deve inviare i file .php al server in ascolto su localhost alla porta 12384
qui ci siamo....
Quote:
ovviamente il server è stato precedentemente tramite questo script
avevo provato questa versione ma non sono riuscito a farlo partire (sbaglio o gli init.d per essere avviati si deve riavviare la macchina) cmq tramite un altro script mi compare la stringa che ho postato prima ho provato a eseguire quella stringa (l'user di nginx e www) e ora non mi da errore 500 ma mi dice= No input file specified. quando apro un file php

Quote:
noterai che usa il programma /usr/bin/spawn-fcgi che è specifico per archlinux, sicuramente c'è una cosa simile per la tua distribuzione e credo sia /opt/script-cgi
ora riprovo con quest' altro metodo ma con debian dove lo trovo in opt ho installato php e nginx e prima era vuota

PS:questi errori li ho sia in locale che in remoto sempre debian

Quote:
p.s. per semplificare la cosa ho trovato una guida specifica che indica come installare nginx e fastcgi su ubuntu feisty
avevo provato su debian ma vuole una libreria che non c'e in etch...
Angelbit88 non in linea  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Segnalo this Post!OKNO this Post!
Rispondi citando
Vecchio 25-07-08, 22:55   #7 (permalink)
Moderatore
 
L'avatar di paolino
 
Data di registrazione: Apr 2005
Ubicazione: San Cipriano Beach
Messaggi: 3,833
Quote:
Angelbit88 Visualizza il messaggio

avevo provato questa versione ma non sono riuscito a farlo partire (sbaglio o gli init.d per essere avviati si deve riavviare la macchina) cmq tramite un altro script mi compare la stringa che ho postato prima ho provato a eseguire quella stringa (l'user di nginx e www) e ora non mi da errore 500 ma mi dice=[color=Red] No input file specified.[color=Black] quando apro un file php

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
__________________
paolino non in linea  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Segnalo this Post!OKNO this Post!
Rispondi citando
Vecchio 26-07-08, 21:05   #8 (permalink)
Non iscritto
 
Data di registrazione: Oct 2007
Messaggi: 430
Quote:
se ti dice No input file specified vuol dire che nginx comunica con php, manca quella roba nel file nginx.conf
si l' avevo messo quelle righe ma quando usavo l' aggiornamento del file di confing tramite kill -HUP 1234 non mi sono accorto che usavo un pid sbagliato...

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?
Angelbit88 non in linea  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Segnalo this Post!OKNO this Post!
Rispondi citando
Vecchio 26-07-08, 21:31   #9 (permalink)
Moderatore
 
L'avatar di paolino
 
Data di registrazione: Apr 2005
Ubicazione: San Cipriano Beach
Messaggi: 3,833
Quote:
Angelbit88 Visualizza il messaggio
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?
no quella che ho detto io è manuale, il sistema automatico fa la stessa cosa

gli script per avviare i demoni sono quelli in /etc/init.d
__________________
paolino non in linea  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Segnalo this Post!OKNO this Post!
Rispondi citando
Rispondi


Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 10:19.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.