Is earráid í 404 Not Found
a tharlaíonn nuair a dhéanann tú iarracht rochtain a fháil ar leathanach gréasáin nó acmhainn nach bhfuil le fáil ar an bhfreastalaí. Is freastalaí gréasáin agus seachfhreastalaí é Nginx ar féidir é a úsáid chun freastal ar shuíomhanna gréasáin. Ciallaíonn 404 Not Found Nginx
nach bhfuarthas an leathanach nó an acmhainn iarrtha ar an bhfreastalaí atá ag úsáid Nginx.
Nuair nach bhfuil dóthain RAM ag script PHP le cur i gcrích agus nuair a chuireann an córas deireadh lena phróiseas, is féidir le Nginx earráid 404 a thabhairt ar ais freisin.
Feicfidh tú an cás seo nuair a ritheann an script ar feadh i bhfad, agus ina dhiaidh sin seoltar " 404 Not Found
" nó leathanach earráide d'inneall ar ais. De ghnáth bíonn an mífheidhm seo le feiceáil sa log dífhabhtaithe freisin.
Réitítear an fhadhb trí chuimhne a shaoradh ar an bhfreastalaí, agus is minic a tharlaíonn sé seo mar gheall ar sceitheanna cuimhne i php, nuair a thógann próisis php-fpm
beagnach an chuimhne go léir ar an bhfreastalaí. Trí php-fpm
is féidir an fhadhb seo a réiteach go páirteach:
$ systemctl restart php-fpm
An féidir an cás seo a sheachaint sa todhchaí? Is é an freagra tá, is féidir. Chun seo a dhéanamh, ní mór duit atosú uathoibríoch próiseas a shocrú.
Chun próisis a chumrú chun atosú go huathoibríoch tar éis líon áirithe iarrataí a phróiseáil i Linux, is féidir leat uirlisí bainistíochta próiseas ar nós systemd
nó supervisord
a úsáid.
Cruthaigh comhad leis .service
san eolaire /etc/systemd/system/
le do chumraíocht phróisis. Mar shampla, an comhad 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
Sa sampla seo, socraíonn an paraiméadar StartLimitBurst
líon na n-aththosuithe sula ndéantar an próiseas a dhíchumasú go sealadach.
Tar éis an comhad seirbhíse a chruthú, rith an t-ordú chun systemd
a atosú agus an tseirbhís nua a chumasú:
sudo systemctl daemon-reload sudo systemctl enable php-fpm.service sudo systemctl start php-fpm.service
Suiteáil é ag baint úsáide as bainisteoir pacáiste do dháilte Linux. Ansin cruthaigh comhad cumraíochta do do phróiseas san eolaire /etc/supervisor/conf.d/
. Mar shampla, an comhad php-fpm.conf
:
[program:php-fpm] command=/usr/sbin/php-fpm autorestart=true startretries=10
Sa sampla seo, socraíonn startretries
líon na n-uaireanta a atosófar an próiseas.
Tar éis an comhad cumraíochta a chruthú, atosú supervisord
:
sudo supervisorctl reread sudo supervisorctl update
Cabhróidh na céimeanna seo leat atosú uathoibríoch próiseas a bhunú tar éis líon áirithe iarrataí a phróiseáil i Linux.