Коды всех ошибок. Если вы посетитель

Прочие модели 27.02.2019
Прочие модели
Как создавать ссылки в HTML документе

(Вы найдете больше примеров внизу этой страницы)

HTML Гиперссылки (Ссылки)

Тег может быть использован двумя способами:

  1. Чтобы создать ссылку на другой документ - используя атрибут href
  2. Чтобы сделать закладку внутри документа - используя атрибут name

HTML Синтаксис Ссылки

Пример

Посетите сайт

это отобразится браузером так:

HTML Ссылки - Атрибут Target

Атрибут target (назначение) указывает где открывать залинкованный (тот, на который ссылается ссылка) документ.

Пример ниже откроет залинкованный документ в новом окне браузера или на новой вкладке:

HTML Ссылки - Атрибут Name

Атрибут name используется для создания закладки ("якоря" / "анкера") внутри HTML документа.

Замечание:
Грядущий в обозримом будущем стандарт HTML5 предлагает использовать атрибут id вместо
атрибута name для указания имени ссылки.
Использование атрибута id фактически работает и в HTML4 во всех современных браузерах.

Закладки не отображаются каким-либо специальным образом. Они не видимы для читателя.

Замечание: Всегда добавляйте замыкающий слэш к ссылкам на поддиретории. Если вы создаете ссылку так: href="http://сайт/html", то генерируется два запроса к серверу, сначала сервер добавляет слэш к адресу, и затем создает новый запрос: href="http://сайт/html/".

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

Совет: Если браузер не находит указанную именованную ссылку, он идет в начало документа. Никаких ошибок не возникает.

Эта статья поможет разобраться, почему на сайтах время от времени появляется ошибка 502 Bad Gateway nginx (HTTP Error 502) и как эту проблему решить.

Если вы посетитель

Если вы не можете попасть на сайт из-за ошибки 502, сделать можно не так много:

  • Перезагрузить страницу, сбросив кеш (Ctrl+Shift+R, Ctrl+F5 или Shift+F5). К сожалению, это помогает не так часто, как хотелось бы.
  • Зайти попозже. Через минуту, через полчаса, ночью или рано утром. Скорее всего сервер перегружен. Исправить это вы не сможете, этим должен заняться администратор сайта. Если сайт для вас важный, и у вас есть время, напишите администратору письмо. Чем больше обращений, тем вероятнее, что на проблему обратят внимание и серьезно ей займутся.

Если вы администратор сайта

Если эта ошибка возникает, значит HTTP-запросы от посетителей к вашему сайту идут через так называемый «шлюз», программу-посредник. Например, если на хостинге перед веб-сервером Apache стоит веб-сервер nginx, то nginx будет шлюзом.

502-ая ошибка означает, что запрос от клиента прошел nginx, попал к Apache, и Apache не смог запрос обработать, о чем сообщил nginx’у. В результате nginx отдает клиенту ошибку.

Если PHP работает в режиме FastCGI, то любой веб-сервер перед ним будет шлюзом.

Почему Apache не смог обработать запрос? Как это исправить?

Скорее всего, если сайт раньше работал, а теперь не открывается, дело не в ошибках конфигурации среды. Причина может быть в нехватке ресурсов сервера, и, следовательно, в невозможности обслужить всех клиентов. В частности, проблема может быть в нехватке оперативной памяти. Или вы можете упираться в какое-то ограничение, например, на количество процессов. Иногда Apache или ваше приложение могут периодически падать/перезапускаться, в эти моменты фронт-серверу тоже ничего не остаётся, кроме как отдавать ошибку 502. Такое может случиться и на VPS, и на shared-хостинге.

  • Если проблема регулярно возникает на обычном хостинге, вы не сможете решить ее самостоятельно. Обратитесь в техподдержку, там этим займутся. Если ситуация не меняется, возможно имеет место или сервер плохо настроен. Подумайте о смене провайдера.
  • Если у вас VPS, то, напротив, скорее всего ошибка 502 - ваша зона ответственности.

Возможен случай, когда ошибка 502 постоянная, возникла на этапе настройки сервера. Его сейчас подробно рассматривать не будем. Скорее всего, фронт-сервер и то, что находится за ним, не состыкованы. Или вообще Apache не запущен.

Если у вас VPS

Если PHP работает через FastCGI, то на сервере может не хватать php-cgi процессов в моменты, когда на сайте много посетителей, пришел прожорливый бот, кто-то скачивает ваш сайт целиком или идёт DoS-атака. Веб-серверу нужно бы запустить дополнительные процессы, но памяти под них уже нет. Значит, нужно добавить памяти либо оптимизировать расход доступной

Если дело в нехватке памяти, то в логах будут ошибки OOM (out of memory). Когда ОС очень нужна память, то ядро может попытаться освободить её при помощи механизма OOM killer, просто убивая активные процессы. Например, здесь пришлось пожертвовать Апачем:
Out of memory: kill process 1718 (apache2) score 56789 or a child
Killed process 22504 (apache2)

Другой случай - когда, Apache периодически падает/перезапускается независимо от текущей нагрузки на сайт. В error.log может быть написано:

AH00052: child pid 5858 exit signal Segmentation fault (11)
AH00169: caught SIGTERM, shutting down

Если это происходит со строгой периодичностью, то нужно поискать связь с другими процессами с похожим расписанием. Например, со службой мониторинга или задачами в кроне.

Ошибка 504 Gateway Timeout (time out) - одна из самых распространенных. Что же такое - 504 Gateway Timeout (time out)? Как правило, подобного рода ошибка может возникать в том случае, если на сервер, на котором находится какой-то веб-ресурс, посылается огромное количество запросов, и он просто не успевает их обрабатывать, то есть у него не получается в установленный лимит времени вернуть HTTP-ответ. Вследствие этого может даже прерываться соединение, а пользователь так и не получит доступ к веб-ресурсу. Это обусловлено тем, что сервер не успевает обрабатывать старые запросы, которых накопилось уже много, а появляются еще и новые, которые встают в очередь и не успевают обрабатываться.

Как устранить ошибку 504 Gateway Timeout (time out)?

Проблема может заключаться еще и в скрипте, который не успевает справиться с поставленной задачей за отведенное ему время. В большинстве случаев это происходит тогда, когда скрипт обращается к сторонним узлам. Для того чтобы решить такую проблему, достаточно увеличить значение параметра PHP max_execution_time. Если проблема не будет решена, тогда придется каким-либо образом оптимизировать сам скрипт, чтобы он смог выполнять задачи за установленное время.

Справиться с насущной проблемой может только администратор сервера, который должен увеличить его производительность в несколько раз. Осуществить задуманное можно только если увеличить количество оперативной памяти компьютера, а также сменить процессор на более мощный. Кроме того, потребуется увеличить количество процессов httpd непосредственно в среде Apache. Может случиться и такое, что сайту вообще придется «переехать» на другой хостинг. Такая необходимость возникнет только в том случае, если сайт будет располагаться на обычном виртуальном хостинге, администратор которого либо не будет отвечать на запросы, либо откажется от помощи или если у него не получится решить такую проблему.

Существует еще один вариант решения, который, возможно, придется по душе большей части пользователей. Этот вариант подразумевает оптимизацию непосредственно самого сайта. То есть администратору сайта потребуется оптимизировать скрипты, SQL-запросы и многое другое для того чтобы они смогли выполняться за меньшее количество времени.

Активирована не подходящая версия PHP

Возможно, для работы вашего сайта необходимо наличие определенного модуля PHP, которого нет в текущей версии. Попробуйте переключить версию PHP на другую: .

Может случиться, что для работы одного сайта необходима одна версия PHP, а для другого сайта — другая. Так как версия PHP меняется для всего аккаунта, решить проблему можно разделением сайтов по двум услугам хостинга.

Файлы сайта размещены в неверном каталоге

Файлы сайта должны быть расположены в . Если это не так, разместите сайт в верном каталоге.

Установлены некорректные права на файлы и каталоги сайта

В большинстве случаев корректными правами для каталогов являются «755» , а для файлов «644» .

Ошибки в файле.htaccess

Неверные правила в файле .htaccess также частая причина возникновения ошибки. Если вы самостоятельно вносили изменения в .htaccess , попробуйте их убрать и проверить доступность сайта.

Также может помочь замена текущего файла .htaccess стандартным для вашей CMS:

Запущено максимальное количество процессов

На виртуальном хостинге сайт установлено ограничение в 18 одновременно запущенных процессов (). Если данный лимит будет достигнут, новый процесс не сможет запуститься и возникнет ошибка.

Ограничение (18 одновременных процессов) может складываться из CRON-заданий, частых подключений с помощью почтовых клиентов по протоколу IMAP, подключения по FTP или других зависших процессов.

Вы можете проверить текущее количество запущенных процессов, и выполнив команду:

ps aux | grep [u]1234567 |wc -l

Для того чтобы посмотреть какие именно процессы запущены, введите команду:

ps aux | grep [u]1234567

Командная строка отобразит запущенные процессы, каждый процесс имеет вид:

Процесс можно завершить командой kill, например:

Где 40522 — PID процесса.

Также вам может помочь:

  • увеличить интервал запуска заданий CRON;
  • ограничить кол-во IMAP-соединений в настройках почтового клиента: ;
  • проанализировать запущенные процессы самостоятельно или обратившись за помощью к разработчикам сайта.

Превышен лимит на количество PHP-процессов

Ошибка также может возникнуть из-за превышения лимита на количество PHP-процессов, согласно на тарифных планах Hos t максимальное количество процессов PHP составляет 4 , на тарифных планах VIP — 32 . Посмотреть запущенные процессы можно при помощи команды ps aux ,

ps aux | grep php | grep u1234567

где u1234567 — ваш логин хостинга.

Вы можете завершить текущие php-процессы, изменив версию PHP на отличную от текущей, а затем включив версию PHP, которая была установлена ранее.

Частые причины ошибок на VPS

На сервере VPS, кроме ошибок в файле .htaccess и неверно выбранной версии PHP, причиной может являться отсутствие свободного дискового пространства или объектов файловой системы. Узнать значение этих двух параметров можно в , на странице управления услугой:

Если какой либо параметр достиг предела, воспользуйтесь справкой:

  • если ошибка отображается не сразу, а после определенных действий (добавление изображения, отправка формы с сайта, импорт файлов…), опишите подробный порядок действий, по которым мы сможем воспроизвести проблему;
  • если для воспроизведения проблемы необходимо авторизоваться в административной части сайта, предоставьте соответствующие реквизиты доступа (логин и пароль).


  • Рекомендуем почитать

    Наверх