Home Switchboard Unix Administration Red Hat TCP/IP Networks Neoliberalism Toxic Managers
May the source be with you, but remember the KISS principle ;-)

Light Weight HTTP Servers

News Recommended Books Recommended Links    

If you need a really small httpd, you might want to consider one of the options from ACME Labs Software []. I've used mini_httpd [] and found it to work quite well. It can be compiled with SSL support, if you need that. Disk image is about 42k dynamicly linked, so if FLASH space is important, you might consider it. Its RSS is more like about 670k as configured on my system, but IIRC, that's with SSL support.

If you need to get really small, and don't need much by way of features, micro_httpd [], but that's probably overkill (underkill?) micro_httpd runs from inetd so you need to factor that into your memory footprint if your selecting a server for the embeded market. Also IIRC the ACME license is ... odd ...

As far as GPL'd servers go there is

Top Visited
Past week
Past month


Old News

[Jul 10, 2007] nginx 0.5.27 (Stable)
by nuut - Tue, Jul 10th 2007 13:23 PDT

About: nginx is an HTTP server and mail proxy server. It has been running for more than two years on many heavily loaded Russian sites, including Rambler ( In March 2007, about 20% of all Russian virtual hosts were served or proxied by nginx.

Changes: If a remote SSI subrequest was used, then a posterior local file subrequest might transferred to the client in the wrong order. Large SSI inclusions buffered in temporary files were truncated. These issues were fixed.

[Nov 27, 2006] Project details for Stunnix Perl Web Server

About: Stunnix Perl Web Server is an advanced Web server developed for writing browser-based applications and database-driven catalogues or presentations that reside on CDROM or DVD, internally implemented as Perl-driven or PHP-driven Web sites that store data in a database also located on CDROM. It produces a single CD that works on Windows, Mac OS X, and Linux/x86, without requiring any additional software on the user's computer. All an author needs to do to build a cross-platform browser-based application or CDROM is to copy scripts to their proper directories. HTML::Mason and mod_perl-like execution modes are supported for Perl-driven Web sites.

Changes: A splash screen is shown at Web server startup on MacOS X too. The CDBuilder GUI lets you set environment variables, and lets you set parts of the MySQL configuration file and of file (per each platform CD supports, and common for all platforms). InnoDB support in MySQL has been improved.

[Nov 07, 2006] rlwrap, Emacs midi-input and p5httpd

Tiny HTTP server written in perl in order to run perl CGI scripts on EPOC machines. Should work on any machine with TCP sockets and perl, even if it cannot fork(). Also useful as a simple and efficient server to run CGI scripts under cygwin.

You need Perl (no additional modules needed). For EPOC, there is Olaf Flebbe's great perl port.

[Feb 07, 2006] Lighttpd can lighten Apache's load By: Robert W. Oliver II

Is your Apache Web server slowing down under the weight of streaming media content or database-driven applications? Lighttpd, sometimes pronounced "Lighty," is a lightweight HTTP server that can help alleviate Apache's load by serving static content or CGI scripts. Since Lighttpd uses fewer resources per request than Apache alone, it can generally serve most static content faster than Apache. It also benefits from an actively developed FastCGI interface that performs true load balancing, giving you all the performance benefits of compiled into Apache modules such as PHP.

One of the most beautiful things about using Lighttpd is that you can run it behind Apache via Apache's proxy module. This means you don't need to add another physical server in order to use it.

Installing Lighttpd

On most distributions, you're best off installing Lighttpd from source. This means downloading it, configuring and compiling it, then installing it. It's a fairly straightforward process. Lighttpd compiles cleanly and easily on nearly every platform I've tried it on. The essential commands for compiling and installing Lighttpd can be found on the software's download page.

If you're running Gentoo or FreeBSD, it's even easier. Under Gentoo, you can simply type emerge lighttpd to get up and running. FreeBSD has a port of Lighttpd in /usr/ports/www/lighttpd that you can install, as well via the usual ports installation method, detailed in section 4.5.2 in the FreeBSD handbook.

Once Lighttpd is installed, you'll have to build a configuration file to use it. The Lighttpd tarball comes with a sample in the doc/ folder that will fill most static-content hosting needs. While configuring all of the aspects of Lighttpd is beyond the scope of this article, it is important to pay attention to these configuration items:

# If you don't change this variable, it will try to serve document from /www/pages, which
# is probably not where your documents are. Point this to the place to serve the content
server.document-root = "/www/pages"

# Server error and access logs - make sure this path exists with a mkdir -p /var/log/lighttpd
server.errorlog = "/var/log/lighttpd/error_log"
accesslog.filename = "/var/log/lighttpd/access_log"

# bind to port (Default: 80)
server.port = 81

# bind to localhost (recommended for proxy behind Apache, otherwise comment this out for all)
server.bind = "localhost"

This is not a full listing of the configuration file, but rather a highlight of the most important parts. Notice that we've set the server port to 81. By doing this, we're making sure it doesn't clash with Apache listening on port 80. If you wanted to let Lighttpd power your entire site instead of Apache, you can set this to port 80, or comment it out to accept the default.

Setting up Apache's proxy

To let Apache take the output of Lighttpd on port 81 and map it to your Web site, you'll need to make sure the Proxy module of Apache is loaded. The following configuration examples assume you're using the Apache 2 series, but if you're running Apache 1.3 the configuration is similar in most places. For differences in the proxy module for Apache 1.3, consult the proxy module documentation.

First, make sure that Apache's proxy module is loaded, by ensuring that something resembling these lines is present in your httpd.conf file:

LoadModule proxy_module libexec/apache2/
LoadModule proxy_connect_module libexec/apache2/
LoadModule proxy_http_module libexec/apache2/

If not, add them, or make sure that you've got the proxy module installed as per your distribution's instructions. In most cases, this module will either be there already or commented out. In the latter case, just uncomment it and restart Apache.

If you are using virtual hosting, you will want to use the following code to set up a proxy between the applicable <VirtualHost> directives. If not, putting them at the end of the httpd.conf file should do the trick:

ProxyRequests Off
ProxyPreserveHost On
ProxyPass /images
ProxyPassReverse /

In the above example, Lighttpd will serve up your images folder, leaving Apache to do the rest. You can easily set this to any folder that has static content in it and Lighttpd will serve it, instead of Apache. Another good use of Lighttpd would be to serve up multimedia files, taking the load off of Apache.

The performance boost you'll gain is dependent on many factors. If you only have Lighttpd serve up your images, it probably won't help too much. You can put all of your static content, including HTML and PDF files, images, and movies in a folder called /static and then set the ProxyPass variable to that for a slightly better boost.

Dynamic Lighty

The performance boosts you've gained so far with Lighttpd aren't phenomenal, but they can help in some heavy load situations. If you have some heavy-duty PHP scripts or a Ruby on Rails application, you might be better off letting Lighttpd handle it, as its FastCGI load-balancing is superior to Apache's. Running a Ruby on Rails application with Lighttpd's FastCGI support can yield huge performance gains.

To enable PHP behind Lighttpd, make sure that you've compiled PHP with FastCGI support. You can do this with the --enable-fastcgi configure switch. The Lighttpd documentation on PHP is quite helpful.

For Ruby on Rails, this Lighttpd configuration snippet will run your Rails application quickly and also dramatically reduce Apache's load and memory usage:

# replace path_to_app with the path to your actual Website files and Rails app
# replace rails_app_name with the folder containing the Rails app

fastcgi.server = (
".fcgi" =>
( "localhost" =>
( "socket" => "/home/path_to_app/var/lighttpd-fcgi.socket",
"bin-path" => "/home/path_to_app/rails_sites/rails_app_name/public/dispatch.fcgi",
"bin-environment" => ( "RAILS_ENV" => "production" ),
"min-procs" => 1,
"max-procs" => 1,
"idle-timeout" => 60,
"allow-x-send-file" => "enable" ) ) )

Lower server loads, happier visitors

By shifting some of the load from Apache to Lighttpd, you'll increase your Web site's performance, reduce the load on your server, and keep your visitors happier. For heavier load situations, you can put another server on the local network and have it running nothing but Lighttpd on port 80. Using Apache's proxy module, you can redirect Lighttpd's output from the local server to the front-end server with Apache by changing the ProxyPass and ProxyReverse variables to listen on the local IP.

I've found Lighttpd to be very helpful in reducing load and increasing performance, especially in serving PHP and Rails applications, and I'm confident that you will too.

ServerWatch's Review of SimpleServerWWW

SimpleServer:WWW - An easily set up, basic Web server for Windows

AnalogX's SimpleServer:WWW can best be described as one of the barest of bare-bones Web servers. Organizations that must have something up and running quickly, should take a look at this free product. AnalogX says that all the installer must know is how to drag and drop files using Windows Explorer, and this is completely accurate. SimpleServer:WWW is just that: It has no bells, no buttons (other than to start and stop the server), and no frills. Think generic, plain-wrap Web server.

We tested the server on Windows 98 second edition. It took less than five minutes to set up, and that includes the time it took to download the product's minuscule 250 KB executable file.

One must keep in mind however that SimpleServer:WWW is lacking just about everything found in more complex servers. It does not have a user model. Thus, administrators cannot set up private areas on their servers. Everything is contained in a public directory with no restrictions on access rights. SimpleServer:WWW also lacks a corresponding FTP service, something that comes with Microsoft's IIS and StarNine's WebStar. As a result, users who wish to upload Web content will have to do so directly on the local machine or install a separate FTP server instead. Further, SimpleServer:WWW has no capabilities to support secure sockets layer connections. This makes it unsuitable for use as an e-commerce server.

But these are minor issues, given that the product is free and works without any fuss or bother.

SimpleServer:WWW truly does not need any documentation, other than a simple "read me" file. There is nothing to document: A directory is specified for the Web pages and the administrator starts the server up. That is it - the end of the installation process. SimpleServer:WWW does let the administrator point this directory to a network share, which is a nice feature. To run CGI scripts, copy them into the appropriate directory. There simply is not anything else to do, although the product does also produce common log format access logs.

We recommend SimpleServer:WWW for users new to setting up their own Windows Web servers and who want a free and simple product. Although IIS is free, organizations do need to purchase the server versions of NT or Windows 2000, which can be an extra expense. IIS and others are also more difficult to set up and manage than SimpleServer:WWW.

Pros: ∑ Extremely easy to configure ∑ Supports local network drive shares as Web directories ∑ Produces common log format access logs

Cons: ∑ No FTP server included ∑ Does not support SSL ∑ No remote administration

Recommended Links

Google matched content

Softpanorama Recommended

Top articles


Best deals: Apache & Web Servers
More Apache & Web Servers stories



Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy


War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes


Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law


Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Haterís Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least

Copyright © 1996-2018 by Dr. Nikolai Bezroukov. was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) in the author free time and without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.


FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to make a contribution, supporting development of this site and speed up access. In case is down you can use the at


The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.

The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Last modified: September 12, 2017