Sono trascorsi ormai 5 anni da quando il server Maskwebsite, che ospita il sito istituzionale della scuola, www.liceomascheroni.it, è entrato in servizio. Maskwebsite è un server basato su stack LAMP (Linux, Apache, MySQL, PHP) con sistema operativo Ubuntu Server 16.04 LTS (ormai non più mantenuto) e PHP5 (anch’esso outdated). È il gemello del server MaskHosting (ancora in produzione, ma lui lo ho aggiornato a Ubuntu 18.04 LTS e PHP7). Andava aggiornato, l’ora di MaskWebsite è giunta!
Ho preferito non eseguire un in-place upgrade, come ho fatto per MaskHosting, ovvero aggiornare il sistema operativo dalla 16.04 alla 18.04 e il PHP dal 5 al 7, perché volevo realizzare, per uno dei più importanti server della scuola, un sistema pulito. E volevo utilizzare, questa volta, come webserver, NGINX, invece di Apache.
Ho già utilizzato per altri progetti Nginx e ne sono sempre rimasto colpito per le elevate prestazioni. E desideravo che il sito della scuola si caricasse in minor tempo rispetto a prima. Nel 2020, con la fibra ottica dappertutto, il 5G in arrivo ed un mondo sempre connesso ad alta velocità, il tempo di caricamento di un sito deve essere altrettanto immediato: il sito è il biglietto da visita della scuola e ne deve rispecchiare le prestazioni (informatiche e didattiche) e l’innovazione!
Il sito della scuola poi riceve diverse visite simultanee e vedevo che l’Apache di MaskWebsite faticava a girare in momenti di picco. Nginx ha invece un sistema di funzionamento differente, più efficiente in termini di risorse computazionali (consuma molta meno RAM e CPU) ed è stato proprio scritto da zero per affrontare il problema delle C10K (10 mila connessioni simultanee al secondo).
Oltre a Nginx ho installato i “classici” componenti del caso, per un webserver come questo: php-fpm ver. 7, mysql, phpmyadmin, pure-ftpd con supporto a ssl, monitoraggio del Nagios e backup di rete file level e bare-metal (su subnet dedicata). Ho preferito dedicare un intero server al sito del Mascheroni per l’importanza e la criticità del sito. Il funzionamento e la velocità del sito del liceo non deve essere influenzata da altri siti web ospitati nella stessa macchina, come accadrebbe su un hosting condiviso.
Attualmente MaskLemp sta girando su un hypervisor con un Intel Xeon non troppo moderno. È mia intenzione migrarlo (appena posso fare un attimo di downtime per spostare la vm… Non ho il vMotion, purtroppo) su un hypervisor più moderno e con un processore più veloce!