серверні помилки

Помилка 403 - 403 Access denied (Доступ до ресурсу заборонено)

Помилка 403 означає, що доступ до ресурсу, папці або файлу заборонений (отримано код 403 Forbidden). Можливо, що доступ був закритий через файл .htaccess.

Так само помилка може бути викликана тим, що в папці немає index файлу.

Помилка 404 - 404 File not found

Документ за вказаною URL не існує. Можливо, такий файл видалений, або ви помилилися при наборі URL в браузері або пішли по невірної посиланням.

Помилка 500 - 500 Internal server error

Поява 500 помилки, може бути пов'язано з неправильно вказаними параметрами у файлі .htaccess. який знаходиться в папці з вашим сайтом.

Також, якщо файл збережений в кодуванні UTF-8, він повинен бути без мітки BOM. Якщо ж файл збережений в UTF-8 з міткою BOM. відкрийте файл і збережіть його без мітки BOM.

Як прибрати UTF-8 BOM мітку

Щоб прибрати BOM. наприклад в Notepad ++, потрібно відкрити в ньому проблемний файл, клікнути по пункту «Кодування» в верхньому меню і вибрати «Перетворити в UTF-8 (без BOM)». Далі збережіть файл і завантажте його на сервер (хостинг).

Помилка 500 у CGI скриптів, може бути викликана через неправильні прав у файлу-скрипта CGI (повинні бути 755).

Також, це може бути помилка безпосередньо в сценарії скрипта. Точну причину можна встановити, переглядаючи лог помилок.

Помилка 502 - 502 Bad Gataway

Дана помилка означає, що сервер (або proxy-сервер) отримав неприпустимі відповіді іншого сервера (або proxy-сервера).
Причиною може бути неправильна робота скриптів, або помилка відповіді шлюзу веб-сервера.

Одна з найбільш частих причин помилки 502:
скрипт сайту відправляє cookie або інші дані безліч разів при якихось певних діях, в результаті чого обсяг заголовків (header) росте більше допустимого ліміту веб-сервера.

При досягненні порогового значення, веб-сервер відхиляє запит з надто великим заголовком, відкидаючи з'єднання з помилкою 502 Bad Gateway. Таке буває, коли скрипти написані розробниками без належної оптимізації.

На хостингу використовується зв'язка веб-серверів nginx (front-end) + apache (back-end)
У nginx вказані оптимальні параметри для заголовків:

Інші причини:
іноді користувачі неуважні у виборі опцій, і не Новомосковскют їх опис.
В хостинг-панелі зайдіть в розділ Домени → Установки. якщо там включені всі опції прдряд (стоять галочки), то вимкніть їх. Це може прибрати помилку 502.

У деяких випадках, коли помилка 502 з'являється періодично, а виправити скрипти не представляється можливим, тимчасово може допомогти очищення cookies і кеша в браузері.

Помилка 503 - 503 Service temporarily unavailable

Помилка 503 (Service Temporarily Unavailable) - обслуговування тимчасово недоступно.

Багато хто не до кінця розуміють причини появи помилки 503 і вважають, що в усьому винен сервер.
5хх помилки дійсно серверні, але це не завжди означає, що проблема саме на стороні сервера.

Ми розглянули, як влаштований хостинг і тепер постараємося описати основні причини, при яких може зростати чергу, і, по можливості, шляхи рішень цієї проблеми. Іноді це може бути дуже складним завданням і власних знань може не вистачити, але тим не менш, розглянемо варіанти:

- Звісно скриптів при передачі великих статичних файлів через PHP.
Такі великі файли найкраще передавати безпосередньо, не використовуючи скрипти. Чому? Скрипти працюють певний час, а не постійно і при закінченні часу роботи скрипта переривається передача файлу, відповідно файл не буде переданий повністю, а запит залишить процес веб-сервера працювати ще тривалий час. Також, кожна передача файлів через PHP - це окремий робочий процес веб-сервера apache, а для передачі статичних файлів безпосередньо буде використовуватися окремий багато-процес веб-сервера nginx, який може обробляти безліч потоків, а значить не буде впливу передачі файлу на завантаження.

Зберігання та віддачу файлів можна також реалізувати через правила mod_rewrite і файл .htaccess. в цьому випадку можна використовувати рішення антіліч. Антіліч - це система, яка не дозволить завантажити ваш файл за посиланням на сторінці з іншого сайту. Часто, якщо ваш файл популярний, недобросовісні web-майстри можуть поставити у себе пряме посилання на нього, не згадуючи про вашому сайті. Природно, якщо сайт, на якому подгружается зображення від вашого сайту, відвідуваний - це так само може створювати додаткове навантаження.

- Віддалене з'єднання з іншим сервером (сайтом і т.д.).
Віддалених з'єднань, по можливості, краще уникати, але якщо воно необхідне, то бажано виставляти маленькі значення таймаутів очікування відповідей від іншого сервера, так як віддалений сервер може бути недоступний в певний час, що може викликати постійні запити на з'єднання з віддаленим сервером. Тому в таких випадках дуже важлива хороша зв'язок з цими віддаленими серверами.

- Дуже важкі або зіпсовані доповнення систем управління сайтами (при використанні CMS та інших скриптів).
Для знаходження таких можна відключати доповнення (плагіни, хакі, модулі і т.д.) окремо. Можливо при включенні / відключенні ви помітите, що сайт стане швидше / повільніше завантажуватися. Далі ви зможете знайти більш легку заміну або виправити пошкоджені доповнення. Також в дистрибутив багатьох CMS включені доповнення, які особисто вам можуть бути не потрібні, тому краще їх видалити.

- Завдання виконуються довгий час.
Іноді в самих скриптах пишуть завдання на виконання чого-небудь за розкладом (наприклад в тих же mambot'ах в joomla). Якщо їх можна перенести в планувальник (cron), то краще це зробити через cron, так як такі завдання в joomla виконуються разом із запитами користувачів і тим самим уповільнюють завантаження сайту і збільшують навантаження, а в деяких випадках сайт зовсім перестає завантажуватися.

- Поштові розсилки.
Розсилки листів можуть впливати на завантаження сайту, проте вони часто бувають необхідні і їх так само краще оптимізувати. Скрипт запуску розсилки можна додати в планувальник (cron), як і в випадку з mambot'амі в joomla. Управління планувальником знаходиться в панелі управління хостингом і доступно при відповідному тарифі. Запускати такі скрипти краще під час найменшого навантаження, наприклад нічний, коли на сайті найменше відвідувачів.

- Повільні або не оптимізовані запити sql до бази даних.
Шляхи вирішення в цьому випадку - використання кешування, оптимізація запитів і індексація таблиці бази даних по стовпцях (сортування, упорядкування). Також, якщо все це не допомагає, варто подумати про зміну скрипта на більш оптимізований.

- Велика кількість запитів до сервера.
Намагайтеся уникати зайвих запитів. Запити можуть виходити не тільки від відвідувачів ваших сайтів, а й, наприклад, від індексуючих ботів з пошукових систем, sape і т.д, також збільшується кількість запитів при використанні великої кількості url на файли (зображення, js-скрипти, css-стилі), які завантажуються через окремі запити (при включеному apache замість nginx). По можливості, об'єднуйте їх в один файл.

Також запити можуть виходити, наприклад, від чату або якоїсь ділянки, блоку на сайті, який посилає ajax-запити на сервер. Багато хто з нас любить відкривати кілька вкладок в браузері - потрібно враховувати, що від цього так само може збільшуватися кількість запитів і відповідно процесів веб-сервера.

Вставка iframe-кодів на сайті теж може бути причиною помилки 503. Ще один приклад збільшення запитів - використання іншими сайтами ваших ресурсів (посилання на файли, картинки, різні інформери). Використовуйте антіліч системи в боротьбі з цим.

Якщо у вас все оптимізовано, використовується кешування, мінімум запитів і просто не вистачає ресурсів на використовуваному тарифі, тоді залишається задуматися про перехід на інші тарифні плани.

Звичайно, всі хочуть недорогі тарифи, при цьому про оптимальне витрачання ресурсів багато просто забувають. На WebHOST1 розроблені оптимальні тарифи і потрібно просто підібрати необхідний для вас тариф, що можна здійснити самостійно в биллинге.

Нарешті, якщо вашим сайтам не вистачає топового тарифу і часто виникає 500 помилка, а ви не знаєте як уникнути цієї проблеми - значить потрібно більше ресурсів і вам потрібен, як мінімум, віртуальний або виділений сервер.

Помилка 504 - 504 Gateway time-out

____ Цей код відповіді означає, що клієнт не передав повний запит протягом деякого встановленого проміжку часу (який зазвичай задається в конфігурації сервера) і сервер розриває з'єднання з мережею. Причиною може бути довга робота процесу, запущеного скриптом сайту, а також завантаженість сервера.

Можна спробувати збільшити виділений час, прописавши в корені сайту в файл .htaccess код: