Ха, uptime robot ми светна, че сайта е бил долу през вечерта със супер информативното съобщение – “There has been a critical error on this website”. Любопитно, но се оказа, че го е счупил един google plugin, който не възнамерявам да връщам обратно.
Набързо за white screen of death и стъпките за дебъгване:
- Проверка на това колко свободно място на диска и в RAM паметта имаме:
marvinator@marvin $ free -m
total used free shared buff/cache available
Mem: 1967 1752 66 64 368 214
marvinator@marvin $ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 25G 18G 6.1G 74% /
/dev/vda15 124M 12M 113M 10% /boot/efi
Тук виждаме, че място на диска има, но имаме само 66MB свободна рам. Рестартирах нормалните виновници и по-точно MariaDB и php-fpm:
marvinator@marvin $ systemctl restart mariadb.service
marvinator@marvin $ systemctl restart php8.2-fpm.service
Да видим колко памет имаме освободена:
marvinator@marvin $ free -m
total used free shared buff/cache available
Mem: 1967 738 990 55 450 1229
Така е по-добре, от 66MB към 738MB. Това не е перманентно решение и ще трябва да си оптимизирам малко сървисите, но за сега – толкова.
2. Това не помогна да се реши проблема така, че отиваме в логовете на nginx (които взимаме от /etc/nginx/conf.d/{default}.conf) ей така (ако файла се казва default.com):
marvinator@marvin / $ cat /etc/nginx/conf.d/default.conf | grep "error.log"
error_log /var/log/nginx/nedko.info.error.log;
Правим един tail и с него гледаме какво се случва във файла след като refresh-нем страницата и ето го зайчето:
marvinator@marvin / $ tail -f /var/log/nginx/default.error.log
2024/09/10 07:58:14 [error] 2704424#2704424: *2661604 Failed to open stream: No such file or directory in /xxx/xxx/wp-content/plugins/google-site-kit/includes/loader.php on line 62;
Вероятно е минал някакъв ъпдейт, който е потрошил плъгина и оттам WordPress е изпаднал в паника. Решението ми беше да преместя или изтрия директорията от plugins и така да позволя на WordPress да си се зареди правилно.
Takeaways:
- Трябва да повече оптимизирам сървисите, които имам и да спра тези, които не използвам
- Трябва да спра (вече е направено) автоматичните ъпдейти на плъгините. Бях пуснал само тях преди време (без ъпдейт на WordPress core), но беше въпрос на време нещо да се наака
- Безплатния tier на UptimeRobot за веченезнамкойпът си върши работата чудесно.