Как исправить ошибки 404 Nginx после обновления Ubuntu Server —

Одна из наиболее распространенных комбинаций веб-серверов сегодня представляет собой программную реализацию веб-сервера Nginx, работающую в версии Ubuntu Server. Эта система чрезвычайно эффективна и ее легко обновлять, поскольку оба пакета продолжают регулярно получать обновления. Системные администраторы обычно устанавливают обновления через менеджер пакетов apt, потому что Ubuntu Server по умолчанию не имеет графического интерфейса.

Обновления Ubuntu Server иногда могут приводить к необычным ошибкам, а отсутствие графического интерфейса пользователя может затруднить их устранение новичкам. Несколько простых команд — это все, что нужно для исправления ошибок 404 Nginx после обновления Ubuntu.

Способ 1: исправление отсутствующих страниц ошибок Nginx

Если сайт размещен на AWS, частном сервере или любой другой конфигурации сервера в стеке LEMP, он может случайно отключиться после обновления Ubuntu Server. Попытайтесь получить доступ к сайту из веб-браузера, возможно, на другом компьютере. Предполагая, что он возвращает ошибку 404, перейдите в CLI Ubuntu Server и выполните команду tail -f   просмотреть все самые последние ошибки.

Если журнал содержит ошибку, такую ​​как:

Ваша система страдает от отсутствия страницы ошибки. Вы также можете увидеть 40x.html в этой строке, хотя это довольно редко, если ваш сайт не работает и вы получаете 404 ошибки в обмен. Используйте команду ls   чтобы увидеть, есть ли там что-нибудь. Если нет, то вам нужно создать HTML-код для страницы с ошибками 50Х.

Имейте в виду, что использование по умолчанию  Структура каталогов часто является проблемой для менеджеров пакетов, которые могут перезаписывать все, что там хранится. Вы можете изменить строку документации в конфигурации Nginx, чтобы избежать подобных проблем, если вам разрешено создавать собственную структуру каталогов.

Способ 2: заставить PHP найти правильный сокет

Вы также можете найти ошибку, которая читает что-то вроде этого в

Это означает, что у вас работает PHP7.0, но он не работает там, где должен быть. Номер версии может отличаться в зависимости от того, как настроен PHP. Установки по умолчанию будут запускаться с  или же , но если у вас есть эта ошибка, это, скорее всего, не так.

Запустите команды  а затем найдите -name ‘php * fpm.sock’, чтобы увидеть, есть ли в вашей системе работающий сокет.

Предполагая, что вы получили положительный результат, вам нужно обновить конфигурацию Nginx, чтобы показать правильное место в   розетка должна быть запущена. Естественно, / directoryPath будет заменен на правильный путь. Строка php / php7.0-fpm.sock должна обновить конфигурацию, если вы используете файл сокета.

Пользователи более старых сокетов TCP, которые не используют файлы сокетов, могут проверить, прослушивает ли сокет PHP порт 9000, выполнив команду sudo netstat -tulpn | grep 9000 от командной строки. Если это так, откройте ваш fastcgi_pass в nano, vi или другом текстовом редакторе и измените строку unix:…, чтобы вместо этого использовать 127.0.0.1:9000 для обновления сокета.

Если ничего из этого не работает, убедитесь, что php7.0-fpm или любой номер используемой вами версии работает с командой sudo systemctl restart php7.0-fpm, после чего повторите описанный выше процесс.

Имейте в виду, что в большинстве случаев запись прослушивания в  и значение в нужно быть таким же. Вы можете попробовать  для более новых конфигураций или 127.0.0.1:9000 для старых стилей.

Ссылка на основную публикацию