The Debian Project is pleased to announce the official release of Debian GNU/Linux version 5.0 (codenamed “Lenny”) after 22 months of constant development. Debian GNU/Linux is a free operating system which supports a total of twelve processor architectures and includes the KDE, GNOME, Xfce, and LXDE desktop environments. It also features compatibility with the FHS v2.3 and software developed for version 3.2 of the LSB.
Great news. While I switched from Gentoo to Ubuntu on production servers last year, recently I have been deploying (and migrating from Ubuntu!) Debian 5 servers and IMHO they are more stable than Ubuntu 8.04 Hardy Heron, which I have been deploying over the last 9 months or so.
As most my sites run PHP and off-the-shelf free/open source software, one of the biggest gripe about Ubuntu 8.04 LTS (which is supposed to have 5 year security updates) is its inclusion of PHP 5.2.4 that has enumerous amount of FastCGI related issues. Most of my sites run on Nginx 0.5/0.6 connecting to PHP backend via FastCGI, and under moderate load (50k-80k page view/day) the PHP FastCGI server will just crash and burn, leaving these messages in Nginx’s error log:
(104: Connection reset by peer) while reading response header from upstream
The only way to recover is by restarting the entire PHP FastCGI backend (after site is down for a couple of minutes). Later on it would occur multiple times a day, and I actually have to write a script monitoring Nginx’s error log to automatically restart PHP FastCGI server to reduce the down time. That sucks — especially when I know PHP 5.2.5 fixed many FastCGI related issues but if I stick to Ubuntu 8.04 LTS I am stuck with PHP 5.2.4 for a long time (unless I build my own PHP which I was not willing to do).
Instead of upgrading to Ubuntu 8.10, I went with Debian 5 Lenny instead. Same command line interface. Same file system layout — but it just feels more stable when it was still marked as “testing” back then. PHP 5.2.6 included was much more solid and FastCGI server hasn’t crashed once. Problem solved!