2013-11-01 12 views
20

ho usato nginx per un paio di mesi senza problema, ma dopo l'aggiornamento a Mac OS X 10.9 Mavericks, quando si cerca di avviare nginx ottengo questo:avvio nginx sicuro su Mac OSX 10.9 Mavericks

nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use) 
nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use) 
nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use) 
nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use) 
nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use) 
nginx: [emerg] still could not bind() 

Ho provato a seguire these directions, ma non ho molta fortuna in quanto le mie uscite sembrano un po 'diverse.

L'uscita:

ps ax -o pid,ppid,%cpu,vsz,wchan,command|egrep '(nginx|PID)' 

è:

PID PPID %CPU  VSZ WCHAN COMMAND 
15015 12765 0.0 2432784 -  egrep (nginx|PID) 

Ho provato uccidendo il processo utilizzando tale PID, ma non sembra mai morire ... Tutte le idee su come ottenere nginx di nuovo in esecuzione? Qualsiasi aiuto è molto apprezzato!!

+1

prova per vedere quale processo è in ascolto al 80, forse u installato apache o qualcosa del genere –

+0

io ho lo stesso problema con "legare() a 0.0.0.0:80 non riuscito (13: Autorizzazione negata) ". Non mi concede il permesso negato se cambio la porta su 8000 – Adi

+1

Possibile altra soluzione a questo errore se (come me) Nginx si avvia bene per te ma il tuo registro continua a ricevere spam con questo errore: http: // serverfault. com/a/548741/23206 –

risposta

44

Il comando ps ... | egrep si trova da solo, non un'istanza di nginx (guarda la colonna "COMMAND"). Poiché la porta 80 è in uso, è probabile che qualche altro programma (forse l'Apache fornito con il sistema operativo?) Stia funzionando e afferrandolo. Per scoprirlo, eseguire:

sudo lsof -i:80 

Se è l'Apache del programma ("httpd") del sistema, probabilmente si può spegnerlo con:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 

Se questo non lo fa, più informazioni sarà necessario per capire cosa cattura la porta 80 e come inizia.

+1

Questo risolto !!! Amico, grazie Ho cercato per settimane. – gjunkie

+1

Funziona ancora 4 anni più tardi per quelli di voi googler. – mattelliottIT

1

probabilmente ancora runnig nginx e in ascolto sulla porta 80. provate questo comando

sudo killall nginx 
Problemi correlati