404 Not Found
- серверде табылмаған веб-бетке немесе ресурсқа кіруге әрекет жасағанда пайда болатын қате. Nginx — веб-сайттарға қызмет көрсету үшін пайдаланылуы мүмкін веб-сервер және прокси сервер. 404 Not Found Nginx
сұралған бет немесе ресурс Nginx пайдаланатын серверде табылмағанын білдіреді.
PHP сценарийінде орындау үшін жеткілікті жедел жады болмаған кезде және оның процесі жүйе арқылы тоқтатылғанда, Nginx 404 қатесін де қайтара алады.
Сценарий ұзақ уақыт жұмыс істегенде, сіз бұл жағдайды көресіз, содан кейін ол " 404 Not Found
" немесе қозғалтқыштың қате бетін қайтарады. Әдетте бұл ақаулық жөндеу журналында да көрінеді.
Мәселе сервердегі жадты босату арқылы шешіледі, бұл php-де жадтың ағып кетуіне байланысты жиі пайда болуы мүмкін, php-fpm
процестері сервердегі барлық дерлік жадты алады. php-fpm
қайта іске қосу арқылы бұл мәселені ішінара шешуге болады:
$ systemctl restart php-fpm
Болашақта бұл жағдайды болдырмау мүмкін бе? Жауап иә, мүмкін. Ол үшін процестерді автоматты түрде қайта бастауды орнату қажет.
Linux жүйесінде сұраулардың белгілі бір санын өңдегеннен кейін процестерді автоматты түрде қайта іске қосу үшін конфигурациялау үшін systemd
немесе supervisord
сияқты процесті басқару құралдарын пайдалануға болады.
Процесс конфигурациясымен /etc/systemd/system/
каталогында .service
кеңейтімі бар файлды жасаңыз. Мысалы, php-fpm.service
файлы
[Unit] Description=PHP FastCGI Process Manager After=network.target [Service] Type=simple ExecStart=/usr/sbin/php-fpm Restart=always RestartSec=3 StartLimitInterval=0 StartLimitBurst=10 [Install] WantedBy=multi-user.target
Бұл мысалда StartLimitBurst
параметрі процесс уақытша өшірілгенге дейін қайта іске қосулар санын орнатады.
Қызметтік файлды жасағаннан кейін systemd
қайта іске қосу және жаңа қызметті қосу пәрменін іске қосыңыз:
sudo systemctl daemon-reload sudo systemctl enable php-fpm.service sudo systemctl start php-fpm.service
Оны Linux дистрибутивінің бума менеджері арқылы орнатыңыз. Содан кейін /etc/supervisor/conf.d/
каталогында процесс үшін конфигурация файлын жасаңыз. Мысалы, php-fpm.conf
файлы:
[program:php-fpm] command=/usr/sbin/php-fpm autorestart=true startretries=10
Бұл мысалда startretries
параметрі процестің қайта басталу санын орнатады.
Конфигурация файлын жасағаннан кейін supervisord
қайта іске қосыңыз:
sudo supervisorctl reread sudo supervisorctl update
Бұл қадамдар Linux жүйесінде сұраулардың белгілі бір санын өңдегеннен кейін процестерді автоматты түрде қайта бастауды орнатуға көмектеседі.