Решења за грешке

Проблеми са смањењем веб сајта: Грешке узроковане сервером (500, 502, 504) и решења

  • 17 минута за читање
  • Hostragons тим
Проблеми са смањењем веб сајта: Грешке узроковане сервером (500, 502, 504) и решења

Проблеми са смањењем веб сајта обично настају због немогућности сервера да обради захтев, неправилног одговора између међуслојева или због истека времена. Грешка 500 најчешће указује на општу интерну грешку узроковану конфигурацијом апликације или сервера, грешка 502 указује на то да је прокси или гатеваи слој добио неважећи одговор из позадине, док грешка 504 означава да позадински одговор није стигао у предвиђеном року. За трајно решење, потребно је правилно тумачити код грешке, прегледати логове сервера, измерити коришћење ресурса, отклонити PHP/апликационе грешке, решити проблеме са базом података и скалирати хостинг инфраструктуру према потребама саобраћаја.

За посетиоца, ове грешке значе само празну страницу или недоступан сајт; за предузеће, то значи изгубљену продају, опадање поверења и слабљење SEO сигнала. Посебно код пројеката као што су е-трговина, корпоративни веб сајтови, новински портали или системи за резервације, где је толеранција на прекиде ниска, 5xx грешке могу довести до губитка прихода у року од неколико минута. У овом водичу ћемо корак по корак обрадити разлике између грешака 500, 502 и 504, како брзо дијагностиковати проблем и предузети применљиве мере да се грешке не понављају.

Зашто се проблеми са смањењем веб сајта морају схватити озбиљно?

Смањење веб сајта није само технички проблем. Корисничко искуство, стопа конверзије, перцепција бренда и видљивост у претраживачима директно су погођени. Google обично толерише краткотрајне прекиде; међутим, поновљене 5xx грешке могу довести до расипања буџета за индексирање, ређе индексирање важних страница и флуктуације у позицијама на претраживачима.

У пракси, 5xx грешке треба разматрати на два различита нивоа. Први је хитна интервенција: поново учинити сајт доступним. Други је анализа основног узрока: пронаћи разлог зашто се иста грешка понавља у условима високог саобраћаја, током рада крона, након ажурирања модула или када се оптерећење базе података повећа. Понекад, само поновно покретање сервиса пружа привремено олакшање; али ако прави проблем није решен, грешка се може поново појавити после неколико сати.

На пример, у продавници заснованој на WooCommerce-у, ако употреба CPU достигне 95% током кампање, PHP-FPM ред се попуњава, а база података се закључава спорим упитима, посетиоци могу видети грешке 500 или 504. У овом случају, само инсталирање кеширајућег модула може бити недовољно; потребно је комбиновати оптимизацију упита, моћнији хостинг план, CDN, кеширање објеката и процену лимита ресурса. Приликом испитивања одговарајућих хостинг опција за пројекте са растућим саобраћајем, могу се упоредити странице Hostragons веб хостинг пакети и Hostragons VPS серверска решења за пројекте који захтевају веће ресурсе.

Основне разлике између грешака 500, 502 и 504

Иако 500, 502 и 504 припадају истој 5xx породици, не значе исто. Неправилна дијагноза може довести до погрешних интервенција. Доле наведена табела брзо резимира најчешће разлике.

Основне разлике између грешака 500, 502 и 504
Код ГрешкеЗначењеНајвероватнији УзрокПрва Контролна TaчкаТипично Решење
500 Интерна серверска грешкаСервер је добио неочекивану грешку током обраде захтеваPHP грешка, .htaccess правило, дозвола фајла, конфликт модулаЛогови апликације и веб сервераИсправити грешан код, дозволе или конфигурацију
502 Лош ГатеваиГатевеј/прокси је добио неважећи одговор из позадинеГрешка у повезивању Nginx-а са PHP-FPM, upstream услуга је недоступна, проблем са обрнутим проксијемСтатус проксија и upstream услугеИсправити PHP-FPM, поставке апликације или проксија
504 Време истека гатевајаГатевеј није добио одговор из позадине у предвиђеном рокуСпори упити, дуги API захтеви, недовољни ресурси, лимит временаВремена одговора и подешавања времена истекаПобољшати перформансе, оптимизовати упите, ускладити вредности времена истека

Ова разлика је посебно важна у структурама које користе Nginx, Apache, LiteSpeed, PHP-FPM, Node.js, обрнуте проксије, CDN и оптерећиваче. Док корисник у прегледачу види 502, прави проблем може бити пад PHP-FPM услуге. Слично томе, грешка 504 може бити узрокована не од веб сервера, већ због спољног API плаћања који не одговара дуже од 30 секунди.

500 Интерна серверска грешка: Узроци и кораци решавања

Шта значи грешка 500?

500 Интерна серверска грешка указује на то да сервер није могао да обради захтев, али не може да објасни грешку конкретнијим кодом. Због тога, грешка 500 има широк спектар могућих узрока. Може се појавити из различитих разлога у WordPress-у, Laravel-у, прилагођеним PHP софтверима, Python или Node.js пројектима. Пошто порука о грешци пружа ограничене информације кориснику, прави трагови се налазе у лог фајловима.

Најчешћи узроци грешке 500

  • Погрешна .htaccess правила: Погрешна RewriteRule, бесконачно преусмеравање или неподржане директиве могу узроковати грешку 500.
  • PHP фатална грешка: Недостајућа функција, некомпатибилна PHP верзија, превазиђена граница меморије или неисправна тема/модул могу зауставити сајт.
  • Дозволе фајлова и фасцикли: PHP фајлови који раде са несигурним или погрешним дозволама као што су 777 могу бити блокирани од стране сервера.
  • Недостајуће зависности: Composer пакети, PHP модули или кеш фајлови фрејмворка могу недостајати.
  • Лимити ресурса сервера: Премашење лимита CPU, RAM, entry process или I/O може довести до прекида захтева.

Како решити грешку 500?

Прво, без панике, израдите временску линију промене. Ако је грешка започела после ажурирања модула, уређивања теме, промене PHP верзије, новог .htaccess правила или током периода високог саобраћаја, основни узрок се сужава. Након тога следите следеће кораке:

  • 1. Проверьте логове: Прегледајте error_log фајл у cPanel, Plesk или вашем сервер панелу. Fatal error, memory exhausted, permission denied или syntax error линије дају директне трагове.
  • 2. Вратите последњу промену: Деактивирајте ново учитани модул, тему или комад кода. За WordPress, привремено преименовање фасцикле модула пружа брзу проверу.
  • 3. Тестирајте .htaccess фајл: Привремено сачувајте фајл под другим именом и креирајте подразумевана правила. Ако се грешка исправи, проблем је у преусмеравању или rewrite правилима.
  • 4. Проверьте верзију PHP и лимите: Ако ваша апликација није компатибилна са PHP 8.2, може произвести грешку 500. Изравнајте values memory_limit, max_execution_time и post_max_size према потребама пројекта.
  • 5. Исправите дозволе фајлова: Општа пракса је да се користе дозволе 755 за фасцикле и 644 за фајлове. Следите упутства вашег хостинг провајдера за посебне потребе.
  • 6. Планирајте повратак из резервне копије: Ако је живи сајт потпуно недоступан, повратак на последњу здраву резервну копију може подићи услугу пре анализе основног узрока. У овом тренутку, редовно прављење резервних копија је од критичне важности.

Ако се грешка 500 често понавља, само фокусирање на апликациону страну није довољно. Морају се испитати метрике као што су: колико PHP процеса ради на серверу у исто време, просечна потрошња меморије, колико се базних података повезује и да ли постоје кашњења у I/O диску. Посебно у делокругу делјеног хостинга, лимити ресурса могу бити недовољни за раст сајта. У таквим случајевима, Hostragons WordPress хостинг или пакети који нуде изолованије ресурсе треба размотрити.

502 Лош Гатеваи: Разумевање прокси и upstream грешака

Шта значи грешка 502?

Грешка 502 Лош Гатеваи указује на то да прокси или гатевај слој између клијента и позадинске услуге није добио валидан одговор. У модерним хостинг архитектурама, Nginx обично функционише као обрнути прокси; усмерава PHP захтеве на PHP-FPM, Node.js захтеве на порт апликације или на различиту upstream услугу. Ако је било која услуга у овом ланцу искључена, под великим оптерећењем или неправилно усмерена на погрешан порт, може доћи до грешке 502.

Типични узроци грешке 502

  • PHP-FPM услуга се зауставила или није могуће приступити socket фајлу.
  • Node.js, Python или Java апликација не ради на порту на којем треба да слуша.
  • У Nginx upstream конфигурацији су коришћени нетачни IP, порт или socket пут.
  • CDN или ватрозид није могао да добије очекивани одговор из изворног сервера.
  • Пуни RAM сервера и прекид процеса доводе до пада позадинских услуга.

План применљивих решења за грешку 502

Први циљ у случају грешке 502 је пронаћи који слој у ланцу није дао одговор. Доле наведени редослед је један од најбржих приступа у стварним процесима подршке:

  • Проверите статус услуга: Потврдите да PHP-FPM, веб сервер, база података и апликационе услуге раде. У VPS или посвећеном серверу, можете да проверите статус помоћу systemctl status команди.
  • Упоредите upstream логове: Погледајте Nginx error лог и PHP-FPM или апликационе логове у истом временском печату. Изрази као што су Connection refused, upstream prematurely closed connection или no live upstreams пружају критичне трагове.
  • Проверите коришћење ресурса: Ако је RAM изнад 90% и swap интензивно коришћен, услуге можда неће моћи да одговоре. Вредност CPU load која прелази број језгара такође може да створи редове.
  • Проверите socket и порт подешавања: Ако се Nginx конфигурација упућује на 127.0.0.1:9000, а PHP-FPM слуша на другом socket-у, грешка 502 је неизбежна.
  • Тестирајте CDN слој: Привремено заобилазите CDN и директно приступите изворном серверу. Ако се проблем види само преко CDN-а, треба проверити DNS, SSL или подешавања везе с извором.

Грешка 502 понекад може бити погођена и конфигурацијом SSL. Ако се између CDN-а и извора користи HTTPS, али је сертификат извора истекао или припада погрешној домени, могу се видети гатевај грешке. Да бисте безбедно и исправно конфигурисали SSL слој, можете погледати опције на страници Hostragons SSL сертификати и Водич за инсталацију SSL сертификата.

504 Време истека гатеваја: Трајно решавање проблема са временом истека

Шта значи грешка 504?

504 Време истека гатеваја указује на то да прокси или гатевај слој није добио одговор од позадинске услуге у предвиђеном року. У овом случају, услуга не мора бити потпуно искључена; може једноставно давати веома спор одговор. Због тога, грешка 504 углавном указује на проблеме са перформансама, базом података, спољним API-јем или дугим обрадама.

Чести узроци грешке 504

  • Спори упити у бази података: Недостатак индекса, велике табеле или закључавања повећавају време одговора.
  • Задржавања спољног API: Када плаћање, испорука, CRM или складишни сервиси споро одговарају, веб захтев може остати у чекању.
  • Мрежна кашњења: Када су апликација и база података на различитим локацијама, кашњења постају критична.
  • Дуги радни крони или увозне операције: CSV увоз, слање масовних порука или извештавање могу успорити живе захтеве.
  • Недовољна подешавања времена истека: Вредности времена истека Nginx-а, Apache-а, PHP-FPM-а и апликације могу бити несагласне.

Како решити грешку 504?

У случају грешке 504, само подизање вредности времена истека често прикрива симптом. На пример, ако упит не завршава у 30 секунди, давање 120 секунди може смањити грешку; али не побољшава корисничко искуство. Прави приступ је измерити спору тачку и убрзати је.

  • 1. Изведите време одговора: Оделите време апликације, време базе података, време спољног API-ја и време чекања сервера.
  • 2. Отворите Slow query лог: Запишите упите дужи од 1 секунде у MySQL или MariaDB. Додајте индекс или промените структуру упита за често понављајуће споре упите.
  • 3. Преместите тешке операције у позадину: Генерација извештаја, обрада слика, слање порука и синхронизација складишта требало би да раде у позадинском систему.
  • 4. Користите кеш: Кеширање страница, кеширање објеката и OPcache значајно смањују оптерећење у динамичким апликацијама.
  • 5. Ускладите вредности времена истека: proxy_read_timeout, fastcgi_read_timeout, max_execution_time и вредности времена истека апликације не смеју бити у конфликту.
  • 6. Поставите лимите на спољне API-је: Не остављајте кориснички захтев у бескрајном чекању ако не стигне одговор из API-ја. Користите стратегије поновног покушаја, резервне и кратке вредности истека.

У реалном сценарију, ако страница за листање производа филтрира 60.000 производа и не постоји индекс у пољу категорије, број 504 грешака може се повећати током кампање. Додавање индекса, кеширање резултата филтрације и оптимизација спорих упита могу решити проблем без повећања ресурса. Међутим, ако је раст саобраћаја трајан, можда ће бити потребно скалирање ресурса.

Десет корака за брзу дијагнозу

Када сајт изненада падне, хаотична интервенција губи време. Следећа листа за проверу може се користити за систематски напредак у 500, 502 и 504 грешкама:

  • 1. Проверите да ли се грешка јавља свима или само вама: Тестирајте са различитих мрежа, мобилних веза и спољних алата за проверу доступности.
  • 2. Потврдите HTTP статус код: Користите алате за развојне програмере у прегледачу или curl -I https://вашадомен.com за преглед правог кода.
  • 3. Списак последњих промена: Да ли је било расподеле кода, ажурирања модула, промена DNS-а, обнављања SSL-а, промена верзије PHP или промена подешавања сервера?
  • 4. Погледајте логове веб сервера: Apache, Nginx или LiteSpeed грешке су први извор података за читање.
  • 5. Испитајте логове апликације: WordPress debug лог, Laravel storage логови или Node.js process логови показују извор грешке.
  • 6. Измерите ресурсе сервера: CPU, RAM, диск простор, inode, диск I/O и бројеви веза требају се истовремено оценити.
  • 7. Проверите базу података: Да ли је достигнут лимит веза, да ли постоје закључани упити, да ли се повећао број спорих упита?
  • 8. Тестирајте ватрозид и CDN: WAF правила, филтри за ботове или CDN изворна веза могу бити неправилно конфигурисани.
  • 9. Имајте резервну копију при руци: Ако је критичан фајл оштећен или ако је ажурирање било неуспешно, требало би да имате брз план повратка.
  • 10. Саставите извештај о основном узроку: Након што се грешка исправи, документујте време, утицај, узрок, решење и кораке за спречавање поновног појављивања.

Ова листа је посебно корисна за расподелу одговорности унутар тима. Када контактирате хостинг провајдера, делите време грешке, пример URL-а, видљиви код, последње извршене промене и, ако је могуће, слике екрана, како бисте скратити време решавања. Такође, ресурси као што су Hostragons провера домена и регистрација и Водич за управљање DNS-ом могу допринети процесу дијагнозе за проблеме са доступношћу узрокованим доменом, DNS-ом и преусмеравањем.

Правилно тумачење ресурса сервера

Правилно тумачење ресурса сервера

Велики део 5xx грешака повезан је са уским грлима ресурса. Међутим, висока употреба CPU-а не значи увек лош код; понекад, органски саобраћај, напади ботова, неисправан крона или резервна операција могу оптеретити систем. Због тога метрике треба читати не само појединачно, већ и у временској линији.

Кључне метрике за праћење

  • Употреба CPU-а: Континуирана употреба изнад 80% повећава ризик од реда и кашњења.
  • RAM и swap: Ако се користи swap, процеси успоравају и могу се активирати грешке 502 и 504.
  • Диск I/O: Посебно интензивно писање у логове, велике резервне копије или базе података могу довести до чекања I/O.
  • Entry процес и паралелне везе: У делјеним хостинг окружењима, лимити паралелних процеса могу се претворити у грешке 500.
  • Везе са базом података: Приближавање max_connections лимиту повећава ризик од апликационих грешака.
  • TTFB: Константно повећање времена до првог бајта је рано упозорење пре 504.

Можете користити једноставну праксу са прагом: ако је TTFB у нормалним условима у распону од 300-600 ms, а током кампање прелази на 5-10 секунди, требало би да се изврши планирање капацитета пре појаве грешке. Пратиње доступности, анализа логова и мерење перформанси, када се користе заједно, могу уочити проблем пре него што се погорша.

Трајне мере на нивоу апликације, базе података и хостинга

Шта урадити на нивоу апликације

Квалитет кода и актуелност најјача су одбрана од проблема са смањењем веб сајта. Уклоните непотребне модуле, одаберите теме и модуле из поузданих извора, тестирајте компатибилност верзије PHP у тестном окружењу. Користите стагинг окружење уместо да правите директне измене на живом сајту, што вам омогућава да уловите грешке 500 пре него што се појаве.

  • Не показујте грешке у живом режиму кориснику, запишите их у лог фајл.
  • Направите потпуну резервну копију фајлова и базе података пре ажурирања.
  • Дуги процеси раздвојите од захтева корисника.
  • Оптимизујте слике и смањите непотребно оптерећење скрипти.
  • Анализирајте бот саобраћај; ограничите злонамерне или прекомерне ботове са WAF-ом.

Шта урадити на нивоу базе података

Перформансе базе података играју критичну улогу, посебно у WordPress-у, WooCommerce-у, форумима и системима чланства. Сајтови са хиљадама производа, наруџбина, коментара или записа у логовима могу имати проблема са великим табелама. Редовно одржавање, провера индекса и чишћење непотребних записа смањује ризик од грешке 504.

  • Набавите најскупље упите помоћу Slow query логова.
  • Додајте исправне индексе на често филтрирана поља.
  • Очистите непотребне опције које се аутоматски учитавају.
  • Периодично архивирајте старе ревизије, привремене записа и лог табеле.
  • Резервну копију базе података извршите у сатима када је перформанса слаба.

Шта урадити на нивоу хостинга

Ако хостинг инфраструктура није исправно одабрана, и добро оптимизован сајт може бити под оптерећењем током интензивног саобраћаја. Потребе ресурса се разликују између почетног корпоративног сајта и високопрофитног е-трговинског сајта. Саобраћај, број процеса, однос динамичких страница, коришћење е-поште, величина базе података и потреба за безбедношћу морају се заједно разматрати.

  • За мале и средње сајтове, хостинг пакети који се лако управљају могу бити довољни.
  • Сајтови који изводе интензивне динамичке операције боље функционишу са VPS-ом који нуди изоловане CPU/RAM ресурсе.
  • У корпоративним пројектима редовно прављење резервних копија, SSL, WAF и праћење доступности треба да постану стандард.
  • DNS записи треба да буду једноставни, а непотребни ланци преусмеравања треба да буду уклоњени.
  • Ако се користи CDN, изворни сервер, SSL и правила кеширања треба правилно конфигурисати.

Када се ово разматра, само гледање на простор на диску може бити обмањујуће. Сајт који користи 2 GB простора на диску може конзумирати више CPU ресурса од другог сајта који користи 20 GB простора на диску, али има висок број паралелних корисника. Због тога, избор пакета треба да буде заснован на стварном саобраћају и оптерећењу процеса.

Шта урадити у вези са 5xx грешкама из SEO угла?

Претраживачи не кажњавају одмах привремене 5xx грешке; али поновљени прекиди утичу на перформансе индексирања и скенирања. Ако Googlebot често добија 500, 502 или 504 одговоре на важним страницама, може смањити учесталост скенирања. Такође, ако корисници кликну на сајт из органских резултата и виде грешку, то доводи до губитка поверења и конверзије.

Да бисте смањили SEO ризик, користите праћење доступности на критичним страницама, проверавајте статистику скенирања у Search Console-у и анализирајте статус кодове захтева Googlebota у логовима сервера. Ако ће бити планирано одржавање, коришћење краткотрајног и правилно конфигурисаног 503 Service Unavailable одговора је здравије од непланиране грешке 500. Користите заглавље Retry-After на страници за одржавање да обавестите претраживаче када би требало поново да пробају.

Посебно током преноса сајта, промене домена или прелаза на SSL, неправилна преусмеравања и проблеми са сертификатима могу довести до проблема са доступношћу сличним 5xx. Смањивање DNS TTL пре преноса, прављење резервних копија, тестирање на тестном домену и праћење логова након прелаза је добар стандардни поступак.

Kада треба да се обратите хостинг подршци?

Неке грешке могу решити администратори сајта; али неке захтевају приступ серверу и стручност. У следећим ситуацијама, брзо контактирање хостинг подршке је прави корак:

  • Ако грешка утиче на цео сајт и не можете приступити управљачкој табли.
  • Ако у логовима видите редове "permission denied", "upstream failed" или "resource limit exceeded".
  • Ако PHP-FPM, веб сервер или база података константно падају.
  • Ако се сајт отвара када је CDN искључен, али се појављују грешке 502 или 504 када је CDN укључен.
  • Ако се лимити ресурса често попуњавају, а који пакет је одговарајући није јасно.
  • Ако је дошло до проблема с доступношћу након промене SSL-а, DNS-а или ватрозида.

Када отварате захтев за подршку, додавање следећих информација може значајно смањити време решавања: време почетка грешке, погођени URL-ови, видљиви код грешке, последње извршене промене, слике екрана и да ли је грешка константна или повремена. Ове информације олакшавају техничком тиму да репродукује исти проблем и испита прави слој.

Често постављана питања

Да ли грешка 500 значи да је мој сајт хакован?

Не, грешка 500 сама по себи није знак хаковања. Најчешће настаје због PHP грешке, конфликта модула, погрешног .htaccess правила, дозвола фајлова или лимита ресурса. Међутим, ако се грешка јавља уз неочекиване промене у фајловима, сумњиве преусмеравања или непознате корисничке налоге, требало би извршити безбедносни скен.

Да ли грешка 502 Bad Gateway може бити узрокована корисником?

Обично не. Грешка 502 углавном указује на проблем комуникације на серверу, проксију, CDN-у или позадинској услузи. Корисник може да очисти кеш прегледача и тестира из друге мреже; али ако се грешка јавља свима, решење треба тражити на серверској страни.

Да ли је довољно само повећати вредност времена истека за грешку 504?

Понекад пружа привремено олакшање, али није трајно решење. Код грешке 504, прави циљ је пронаћи основни узрок, као што су спори упити, застоји у спољном API-ју, висока употреба CPU-а или дуге операције. Повећање времена истека треба пажљиво применити уз оптимизацију перформанси.

Да ли 5xx грешке одмах смањују моје SEO рангове?

Краткотрајни и ретки прекиди обично не стварају трајне губитке у рангирању. Међутим, ако се 5xx грешке често понављају, важне странице дуго остају недоступне или Googlebot редовно добија серверске грешке, то може негативно утицати на учесталост скенирања и органске перформансе.

Која је најважнија навика за спречавање проблема са смањењем веб сајта?

Најважнија навика је редовно праћење и управљање променама. Праћење доступности, прављење резервних копија, контрола логова, тестирање у стагинг окружењу, коришћење актуелног софтвера и праћење метрика ресурса у комбинацији могу спречити већину грешака 500, 502 и 504 пре него што се појаве.

Кратак резиме и следећи корак

Иако грешке 500, 502 и 504 припадају истој породици, указују на различите слојеве: 500 углавном представља грешку у апликацији или конфигурацији, 502 представља проблем комуникације између проксија и upstream-а, а 504 указује на проблеме са временом истека и перформансама. Право решење подразумева правилно тумачење кода грешке, читање логова, мерење ресурса, анализу последњих промена и трајну оптимизацију.

Ако ваш сајт често доживљава проблеме са смањењем веб сајта, корисно би било да заједно процените своје тренутне хостинг ресурсе, конфигурацију SSL и DNS, као и перформансе апликације. Можете погледати решења Hostragons-а за истраживање хостинг инфраструктуре која одговара вашим потребама; циљ је створити брже, сигурније и отпорније веб искуство.

Поделите овај чланак:

Hostragons тим

Ажурирани водичи нашег стручног тима о хостингу, серверима и доменима. Хајде да заједно пронађемо право решење за ваш пројекат.

Контактирајте нас