Jossain tuli vastaan uutisia nginxin yleistymisestä raskaan kuormituksen alaisien nettisivustojen alustana. Koska omakin sivustoni vetää ainakin miljoona latausta puoleensa muutamassa tunnissa, ajattelin itsekin kokeilla sitä Apachen korvikkeena.
Alusta alkaen oli selvää, että pitäisi yrittää unohtaa kaikki Apachesta opittu ja nöyrästi aloittaa puhtaalta pöydältä nginxin opiskelu. Nginx on onneksi dokumentoitu melko hyvin kotisivuillaan. Varsinkin wikistä löytyvä Common Configuration Pitfalls tuli luettua moneen kertaan ja huolella. Voi olla, että muutamaan kuoppaan tuli jopa langettuakin hyvistä väistely-yrityksistä huolimatta. Kirjoittamalla tämän jutun liityn samalla siihen joukkoon, josta varoitellaan tuon Pitfall-sivun alussa. Ohjeita nginxin käyttöönottoon löytyy tosiaan monia, mutta ajantasaisia ja virheettömiä niistä on murto-osa. PHP:n ja nginxin yhteiselämää käsittelevissä ohjeissa käytetään lähes poikkeuksetta vanhoja tapoja, joissa käytetään LightHTTPD:n skriptiä hallitsemaan FastCGI-prosessien käynnistämistä. Uudempi PHP-FPM -patch, joka tulee PHP 5.4:stä asti suoraan PHP:n mukana, helpottaa asentamista huomattavasti. Asentamisen jälkeen nginx käskyttää PHP:tä, joka hallinnoi prosesseja.
Asennuksen mentyä läpi melkein liiankin helposti löysin sentään yhden asian, joka tuotti hieman päänvaivaa. Yhden hakemiston suojaamiseen joutuu näkemään hieman enemmän vaivaa kuin Apachessa. Apachen puolellahan tarvitaan vain htaccess-tiedosto. Nginxissä on käytössä NginxHttpAuthBasicModule, jolla pystytään toteuttamaan sama. Se vaatii kuitenkin samalla tavalla htpasspw-tiedoston, johon salasanat tulee laittaa kryptattuina. Apachen ollessa asennettuna tämä hoituu htpasswd-ohjelmalla. Itse hoidin asian käyttämällä vanhaa htaccess-tiedostoa. Ongelman voi ratkaista myös käyttämällä Python-skriptiä.