404 nav atrasts
ir kļūda, kas rodas, kad mēģināt piekļūt tīmekļa lapai vai resursam, kas serverī nav atrasts. Nginx ir tīmekļa serveris un starpniekserveris, ko var izmantot vietņu apkalpošanai. 404 Not Found Nginx
nozīmē, ka pieprasītā lapa vai resurss nav atrasts serverī, kas izmanto Nginx.
Ja php skripta izpildei nepietika RAM un sistēma apturēja tā procesu, arī Nginx var atgriezt 404 kļūdu.
Šādu situāciju redzēsiet, ja skripts darbojas ilgu laiku, pēc kura tas atgriež"404 Not Found
" vai jūsu dzinēja kļūdas lapu. Parasti šī kļūda ir redzama arī atkļūdošanas žurnālā.
Problēma tiek atrisināta, atbrīvojot atmiņu serverī, bieži tā var notikt atmiņas noplūdes dēļ php, kad php-fpm
procesi aizņem gandrīz visu servera atmiņu. Pārstartējot php-fpm
, šī problēma tiek daļēji atrisināta:
$ systemctl restart php-fpm
Vai no šādas situācijas var izvairīties nākotnē? Atbilde ir jā, var. Lai to izdarītu, jākonfigurē automātiska procesu restartēšana.
Lai konfigurētu procesu automātisku restartēšanu pēc noteikta pieprasījumu skaita Linux operētājsistēmā, varat izmantot procesu pārvaldības rīkus, piemēram, systemd
vai supervisord
.
Izveidojiet failu ar paplašinājumu .service
direktorijā /etc/systemd/system/
ar savu procesu konfigurāciju. Piemēram, fails 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
Šajā piemērā parametrs StartLimitBurst
nosaka atkārtotu palaišanu skaitu, pirms process uz laiku tiek izslēgts.
Pēc pakalpojuma faila izveides izpildiet komandu, lai restartētu systemd
un aktivizētu jauno pakalpojumu:
sudo systemctl daemon-reload
sudo systemctl enable php-fpm.service
sudo systemctl start php-fpm.service
Instalējiet to, izmantojot sava Linux izplatītāja pakešu pārvaldnieku. Pēc tam izveidojiet sava procesa konfigurācijas failu direktorijā /etc/supervisor/conf.d/
. Piemēram, failu php-fpm.conf:
[program:php-fpm]
command=/usr/sbin/php-fpm
autorestart=true
startretries=10
Šajā piemērā parametrs startretries
nosaka procesa restartēšanas mēģinājumu skaitu.
Pēc konfigurācijas faila izveides restartējiet supervisord
:
sudo supervisorctl reread
sudo supervisorctl update
Šīs darbības palīdzēs konfigurēt procesus, lai tie automātiski restartētos pēc noteikta pieprasījumu skaita apstrādes Linux operētājsistēmā.