Jak naprawić błędy 404 Nginx po uaktualnieniu serwera Ubuntu



Wypróbuj Nasz Instrument Do Eliminowania Problemów

Jedna z najpopularniejszych obecnie kombinacji serwerów WWW zawiera implementację oprogramowania serwera WWW Nginx działającą w wersji Ubuntu Server. Ten system jest niezwykle wydajny i łatwy do aktualizowania, ponieważ oba pakiety nadal otrzymują regularne aktualizacje. Administratorzy systemu zazwyczaj instalują aktualizacje za pośrednictwem menedżera pakietów apt, ponieważ Ubuntu Server domyślnie nie ma interfejsu graficznego.



Uaktualnienia serwera Ubuntu mogą czasami generować nietypowe błędy, a brak graficznego interfejsu użytkownika może utrudniać początkującym użytkownikom ich rozwiązywanie. Kilka prostych poleceń może wystarczyć, aby naprawić błędy 404 Nginx po aktualizacji Ubuntu.



Metoda 1: Naprawianie brakujących stron błędów Nginx

Jeśli witryna jest hostowana na AWS, serwerze prywatnym lub jakiejkolwiek innej konfiguracji serwera w stosie LEMP, może zostać losowo wyłączona po uaktualnieniu serwera Ubuntu. Spróbuj uzyskać dostęp do witryny z przeglądarki internetowej, być może na innym komputerze. Zakładając, że zwraca błąd 404, przejdź do interfejsu wiersza polecenia Ubuntu Server i uruchom polecenie tail -f aby wyświetlić wszystkie najnowsze błędy.



Czy dziennik powinien zawierać błąd, taki jak:

W Twoim systemie brakuje strony błędu. Możesz również zobaczyć 40x.html w tym wierszu, ale jest to stosunkowo rzadkie, jeśli Twoja witryna nie działa i otrzymujesz w zamian błędy 404. Użyj polecenia ls by zobaczyć, czy coś tam jest. Jeśli nie, musisz utworzyć kod HTML strony z błędami 50X.



Pamiętaj, że przy użyciu domyślnego pliku struktura katalogów jest często problemem w przypadku menedżerów pakietów, które mogą nadpisywać wszystko, co jest tam przechowywane. Możesz zmienić wiersz docroot w konfiguracji Nginx, aby zapobiec tego rodzaju problemom, jeśli masz pozwolenie na tworzenie niestandardowej struktury katalogów.

Metoda 2: Znalezienie odpowiedniego gniazda w PHP

Możesz również znaleźć błąd, który brzmi mniej więcej tak w pliku

Oznacza to, że masz uruchomione PHP 7.0, ale nie działa tam, gdzie powinno. Numer wersji może się różnić w zależności od konfiguracji PHP. Domyślne instalacje będą uruchamiane z lub , ale jeśli masz ten błąd, prawdopodobnie tak nie jest.

Uruchom polecenia a następnie znajdź -name „php * fpm.sock”, aby sprawdzić, czy gdzieś w systemie działa gniazdo.

Zakładając, że otrzymałeś pozytywne wyniki, musisz zaktualizować konfigurację Nginx, aby wyświetlać prawidłowe miejsce w gniazdo powinno działać. Oczywiście / directoryPath zostałaby zastąpiona poprawną ścieżką. Linia php / php7.0-fpm.sock powinna aktualizować konfigurację, jeśli używasz pliku gniazda.

Użytkownicy starszych gniazd TCP, które nie używają plików gniazd, mogą sprawdzić, czy gniazdo PHP aktualnie nasłuchuje na porcie 9000, uruchamiając sudo netstat -tulpn | grep 9000 z wiersza poleceń. W takim przypadku otwórz swój fastcgi_pass w nano, vi lub innym edytorze tekstu i zmień linię unix:…, aby zamiast tego użyć 127.0.0.1:9000 do aktualizacji gniazda.

Jeśli to nie zadziała, upewnij się, że php7.0-fpm lub inny numer wersji, którego używasz, jest uruchomiony z poleceniem sudo systemctl restart php7.0-fpm, a następnie powtórz powyższy proces.

Należy pamiętać, że w większości przypadków wpis odsłuchu a wartość w muszą być takie same. Możesz spróbować dla nowszych konfiguracji lub 127.0.0.1:9000 dla starszych konfiguracji.

2 minuty czytania