Kaip ištaisyti 404 „Nginx“ klaidas atnaujinus „Ubuntu Server“



Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas

Vienas iš labiausiai paplitusių žiniatinklio serverių derinių šiandien apima „Nginx“ tinklo serverio programinės įrangos diegimą, veikiantį „Ubuntu Server“ leidime. Ši sistema yra ypač efektyvi ir ją lengva atnaujinti, nes abu paketai ir toliau reguliariai atnaujinami. Sistemos administratoriai paprastai įdiegia naujinimus per apt paketų tvarkyklę, nes „Ubuntu Server“ pagal numatytuosius nustatymus neturi grafinės sąsajos.

„Ubuntu Server“ atnaujinimai kartais gali sukelti neįprastų klaidų, o dėl to, kad trūksta grafinės vartotojo sąsajos, pradedantiesiems gali būti sunku jas šalinti. Gali būti viskas, ko reikia norint ištaisyti 404 „Nginx“ klaidas po „Ubuntu“ atnaujinimo.



1 metodas: trūkstamų „Nginx“ klaidų puslapių taisymas

Jei svetainė yra priglobta AWS, privačiame serveryje ar bet kurioje kitoje serverio konfigūracijoje LEMP kamino, po „Ubuntu Server“ atnaujinimo ji gali atsitiktinai sumažėti. Bandykite pasiekti svetainę naudodamiesi interneto naršykle, galbūt naudodami kitą kompiuterį. Darant prielaidą, kad ji pateikia 404 klaidą, eikite į „Ubuntu Server“ CLI ir paleiskite komandą tail -f peržiūrėti visas naujausias klaidas.



Jei žurnale yra tokia klaida kaip:

Jūsų sistemoje trūksta klaidos puslapio. Šioje eilutėje taip pat galite pamatyti 40x.html, nors tai yra gana neįprasta, jei jūsų svetainė neveikia ir mainais gaunate 404 klaidas. Naudokite komandą ls ar ten yra kas nors. Jei ne, turėsite sukurti puslapio HTML kodą, kuriame būtų 50X klaidų.



Atminkite, kad naudojant numatytąjį katalogų struktūra dažnai kelia problemų paketų valdytojams, kurie gali perrašyti viską, kas ten saugoma. Jei jums leidžiama sukurti pasirinktinę katalogo struktūrą, galite pakeisti „docgin“ eilutę „Nginx“ konfigūracijoje, kad išvengtumėte tokio pobūdžio problemų.

2 metodas: priversti PHP rasti tinkamą lizdą

Taip pat galite rasti klaidą, skaitančią kažką panašaus į

Tai reiškia, kad turite PHP7.0, bet jis neveikia ten, kur turėtų būti. Versijos numeris gali skirtis, atsižvelgiant į tai, kaip sukonfigūravote PHP. Numatytieji diegimai bus vykdomi nuo arba , bet jei turite šią klaidą, daugiau nei tikėtina, kad taip nėra.

Vykdykite komandas tada raskite pavadinimą „php * fpm.sock“, kad pamatytumėte, ar jūsų sistemoje veikia lizdas.

Darant prielaidą, kad gavote teigiamą rezultatą, turite atnaujinti „Nginx“ konfigūraciją, kad būtų rodoma teisinga vieta lizdas turėtų veikti. Natūralu, kad / directoryPath būtų pakeistas teisingu keliu. Eilutė php / php7.0-fpm.sock turėtų atnaujinti konfigūraciją, jei naudojate „socket“ failą.

Senesnių TCP lizdų vartotojai, kurie nenaudoja lizdų failų, gali patikrinti, ar PHP lizdas šiuo metu klausosi 9000 prievado, paleisdamas sudo netstat -tulpn | grep 9000 nuo komandinės eilutės. Tokiu atveju atidarykite „fastcgi_pass“ „nano“, „vi“ ar kitame teksto redaktoriuje ir pakeiskite „unix:…“ eilutę, kad vietoj jos būtų naudojama 127.0.0.1:9000.

Jei nė vienas iš šių veiksmų neveikia, įsitikinkite, kad veikia php7.0-fpm ar bet koks jūsų naudojamos versijos numeris su komanda sudo systemctl restart php7.0-fpm, po to pakartokite aukščiau nurodytą procesą.

Atminkite, kad daugeliu atvejų klausymosi įrašas ir vertė turi būti tas pats. Galite pabandyti naujesnėms konfigūracijoms arba 127.0.0.1:9000 senojo stiliaus.

2 minutes perskaityta