lighty's life

lighty developer blog

Lighttpd 1.4.10 Released

lighttpd 1.4.10 has been release and fixes the fastcgi and cgi problems of .9.

  • CGI should work again
  • fastcgi should not result in a crash under high load
  • load balancing in fastcgi should work as expected
  • broken digest request shouldn’t crash mod_auth

New is = ( ".php3" => ".php" )
  fastcgi.server = ( ".php" => ... )


In the News

I grep through the referer log from time to time to see where lighty is mentioned on the net.

This week I got attracted by these links:

That’s it for this week.

Simplify Your Configfiles With Includes

Or should it be named ‘virtual hosting made easy ?’ Anyway. If your vhosting setup looks a bit more complext like having different options (static only, php support, pre-installed rails apps, …) but a similar setup for each you can’t use the vhosting modules and have to write everything by hand. But there is rescue thanks to includes and variables.

Optimizing Lighty for High-concurrent, Large-file Downloads

In lighttpd 1.4.6 we have added some modifications for sites which have handle some 100 files in parallel with size of more than 100Mb each.

The problem in earlier releases was that lighttpd had to wait until the disk had seeked to the right place, read a few 100 kbyte to send it out. And this for each request as this scenario was completly trashing the disk-buffering. The IO-wait went sky-high and we were completly bound to the disk-io.

Mission Failed: You Got Spotted

Last month have been very impressive for lighty. Every month I was waiting for the statistics gathered by NetCraft about the usage from web-server software on the net. We all know that Apache has 70% of the market, but as every month I check the detailed reports too see where lighty is now: place 30, 19000 installations.

And somehow this information got leaked to our last few missing distributor as I got mail from Zak (Ubuntu), darix (SuSE) and Ernest (Apple).

Lighttpd Goes Scons

In my daily work at MySQL I added scons as the build-system for a cross-platform, multi-language project and am very satisfied with the results. We have Unix, Windows and MacOS X as build-platforms and Java, C, PHP and Perl as programming languages and all works nicely together in a Python written build-system.

lighttpd goes now the same way, solving the nasty autotools dependencies.

Graceful Restart

With lighttpd 1.4.3 it is possible to do a graceful shutdown by sending a SIGINT to the process. It will only shutdown the server after the client connections are closed successfully without interrupting the connections.

But can this be used to implement ‘reload config on signal’ or ‘graceful restart’ ?

Spice Up for Error Page

lighttpd isn’t beautiful when it shows the user that a file is not available.

When I wrote it I want to make sure to don’t show any information that might be used for XSS attacks like displaying the URL unencoded, show local paths, … something like that. I used the simplest approach: Just show the status.

This is not pretty, but works. But I assume you want something more sexy.