Nginx: kan niet worden gestart Een hoogwaardige webserver en een omgekeerde proxyserver

Ik probeer deze service te starten, maar het lukt niet, de onderstaande fout doet zich voor:

root@zabbix:/home/appliance# systemctl status nginx.service
nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2018-07-25 18:33:26 UTC; 1min 27s ago
  Process: 30040 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
  Process: 30037 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Jul 25 18:33:25 zabbix nginx[30040]: nginx: [emerg] listen() to [::]:80, backlog 511 failed (98: Address already in use)
Jul 25 18:33:25 zabbix nginx[30040]: nginx: [emerg] listen() to 0.0.0.0:80, backlog 511 failed (98: Address already in use)
Jul 25 18:33:25 zabbix nginx[30040]: nginx: [emerg] listen() to [::]:80, backlog 511 failed (98: Address already in use)
Jul 25 18:33:26 zabbix nginx[30040]: nginx: [emerg] listen() to 0.0.0.0:80, backlog 511 failed (98: Address already in use)
Jul 25 18:33:26 zabbix nginx[30040]: nginx: [emerg] listen() to [::]:80, backlog 511 failed (98: Address already in use)
Jul 25 18:33:26 zabbix nginx[30040]: nginx: [emerg] still could not bind()
Jul 25 18:33:26 zabbix systemd[1]: nginx.service: Control process exited, code=exited status=1
Jul 25 18:33:26 zabbix systemd[1]: *******Failed to start A high performance web server*** and a reverse proxy server.****
Jul 25 18:33:26 zabbix systemd[1]: nginx.service: Unit entered failed state.
Jul 25 18:33:26 zabbix systemd[1]: nginx.service: Failed with result 'exit-code'.

Antwoord 1, autoriteit 100%

Ik vraag me af waarom niemand het niet heeft gehad over het uitschakelen van apache2

sudo service apache2 stop

Je hebt al een proces gebonden aan de HTTP-poort 80.

U kunt het commando sudo lsof -i:80uitvoeren om een lijst met processen te krijgen die de poort gebruiken en vervolgens de webserver stop/uitschakelen.

Probeer het proces dat poort 80 gebruikt te stoppen:
sudo fuser -k 80/tcp


Antwoord 2, autoriteit 69%

Voor mij werd deze fout veroorzaakt door een defaultnginx-site die al op poort 80 stond. Het verwijderen van de standaardsite werkte

sudo rm /etc/nginx/sites-enabled/default
sudo service nginx restart

Antwoord 3, autoriteit 58%

Je hebt al een proces dat is gebonden aan de HTTP-poort 80.
U kunt het commando sudo lsof -i:80uitvoeren om een lijst met processen te krijgen die de poort gebruiken en vervolgens de webserver stoppen/uitschakelen.


Antwoord 4, autoriteit 18%

Er kunnen problemen zijn met het configuratiebestand. U kunt dit gebruiken
nginx -t -c /etc/nginx/nginx.confopdracht om eventuele bugs in het configuratiebestand te vinden. Als je merkt dat de bugs zijn opgelost die de sudo service nginx restartopnieuw uitvoeren. Het zal werken.

Controleer de referentie hier


Antwoord 5, autoriteit 18%

Probeer het proces dat poort 80 gebruikt te stoppen:

sudo fuser -k 80/tcp

Antwoord 6, autoriteit 13%

Probeer het proces dat poort 80 gebruikt te stoppen:

sudo fuser -k 80/tcp

Toen je opnieuw opstartte met

sudo systemctl restart nginx

Antwoord 7, autoriteit 5%

Naar mijn ervaring kan deze fout in verschillende situaties worden geactiveerd (die dezelfde root kunnen hebben, maar als verschillende scenario’s worden gezien).

Niet alleen poort 80

Afhankelijk van uw nginx-configuratie, moet u ook poort 443 proberen:

  • sudo lsof -i:80
  • sudo lsof -i:443

U zou uw nginx-luisterpoorten moeten kunnen controleren in /etc/nginx/sites-enabled(onder Debian)

Speciaal geval

In mijn geval was er een nginx-instantie actief, die zichzelf zou blokkeren om opnieuw op te starten. Het zou niet naar beneden gaan met sudo systemctl stop nginx. Ik moest sudo killall nginxgebruiken en kon dan sudo systemctl start nginxgebruiken.

Configuratiefout

Ik kreeg ook exact dezelfde foutmelding bij een configuratiefout.

Je kunt je nginx-configuratie controleren met /usr/sbin/nginx -c /etc/nginx/nginx.conf@ (this will also test all virtual host files (/etc/nginx/sites -ingeschakeld`)


Antwoord 8, autoriteit 4%

Voor mij heeft het stoppen van de apache-service het probleem opgelost
sudo service apache2 stop


Antwoord 9, autoriteit 4%

ik had hetzelfde probleem, was omdat ik apache en nginx op dezelfde server heb!
dus toen ik sudo reboot typte, werkte het niet omdat het apache startte terwijl ik nginx gebruikte, dus ik voer gewoon deze twee opdrachten uit

sudo systemctl stop apache2
dan
sudo systemctl start nginx

en sudo systemctl schakel apache2 uit
dus de volgende keer dat ik opnieuw opstart, krijg ik niet hetzelfde probleem

hulp van aws services-ondersteuning


Antwoord 10, autoriteit 2%

Ik had dit probleem ook. Ik heb het bestand /etc/nginx/site-available/defaultgecontroleerd en ben vergeten het haakje te sluiten (syntaxisfout).

Other episodes