Tänään päivitin yhden palvelimen käyttöjärjestelmän uusimpaan pitkän tuen jakeluversioon. Tässä tapauksessa Ubuntu 20.04.1 LTS.
Päivityksen jälkeen Nginx suostui näyttämään kyllä yhden sivuston staattiset html-sivut nätisti, mutta toisen sivuston PHP-pohjainen "flat file CMS" Grav ei toiminut, ja tämä ilmeni HTTP-virhenumerona 502. Selvittelyn ja verkkohakukimaran jälkeen tajusin tarkistaa Nginxin asetuksista seuraavat asiat:
/etc/nginx/sites-enabled
pitää sisällään?Nginxin virhelogissa oli kyllä jotain PHP:hen liittyvää, mutten suhteellisen noviisina saanut siitä suoraan irti tietoa, josta olisi vian juurisyy käynyt ilmi.
PHP-versio oli muuttunut päivityksen yhteydessä 7.2 -> 7.4
PHP-fpm -palvelu oli käynnissä. (systemctl on ystäväsi)
Lopulta sitten selvisi, miksei Grav toiminut, ja miksi Nginx tarjosi 502 -virhekoodia sivustoa pyytäessä. Asetustiedostossa /etc/nginx/sites-enabled -hakemistossa oli rivit:
## Begin - PHP
location ~ \.php$ {
# Choose either a socket or TCP/IP address
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
# fastcgi_pass 127.0.0.1:9000;
Näistä yksi rivi piti muuttaa muotoon:
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
Virhe oli php:n versionumero.
Tämän jälkeen käynnistin nginx-palvelun uudelleen:
sudo systemctl restart nginx.service
Kaikki toimi taas kuten pitikin, minkä innoittamana kirjoitin huvin ja urheilun vuoksi miten ja mitä korjasin. :)