Web Servers

Nginx

Nginx is a free web server and proxy server. There are versions for the family of Unix-like operating systems (FreeBSD, GNU / Linux, Solaris, Mac OS X) and Microsoft Windows.

The main features :

  • HTTP-server
  • serving of static queries, index files, automatic generation of lists of files, cache descriptors of open files
  • accelerated cashed proxy serving
  • accelerated support FastCGI and memcached servers, simple load balancing and fault resistance
  • modularity, filters, gzip, byte-ranges (upload resume), chunked responses, HTTP-authentication, SSI-filter
  • nested queries on a single page run in parallel
  • SSL support
  • experimental support for embedded Perl
  • IMAP / POP3-proxy
  • user redirection to IMAP / POP3-backend of the external HTTP-server authentication
  • simple authentication (LOGIN, USER / PASS)
  • support SSL and StartTLS

Apache

Apache HTTP-server – is an open Internet server for UNIX-like, Microsoft Windows, Novell NetWare and other operating systems. Web server Apache is an independent, non-profit, freely licensed product. The product supports many features, many of them are implemented as compiled modules that extend the basic functionality. They vary from server language support to authentication schemes. There are interfaces for supporting of programming languages Perl, Python, Tcl, and PHP.

Cherokee

Cherokee – is free crossplatform web server, which is written in C. It supports all Modern technology, including FastCGI, SCGI, PHP, CGI, SSI, HTTPS (TLS and SSL), Virtual hosts, load balancing and others. It is supported by plugins and as a result it can be expanded. Primary emphasis in development is done on the high capability and speed. Web-interface allows simplify setting. In some tests it shows higher rate of work compared with such servers as Lighttpd and Nginx.

Varnish

Varnish is a free solution for static or dynamic content caching. It works as a front-end for any webserver focusing on high capability, multithreads, and effective usage of all features of the family of Linux OS . Varnish is focused exclusively on HTTP. Varnish is used by a great number of high-profile, high-traffic websites including Facebook, Twitter, LinkedIn.

MemCached

Memcached – a computer program, service of caching the data in memory which is based on the paradigm of distributed hash tables. Client library (for Perl, PHP, Python, Java, etc.) allows to cache the data in the RAM of one or more servers. The distribution of data is implemented by hash key value. The client library using key data determines the hash and uses it to select the appropriate server. The situation of failure of the server is treated as a cache miss. This allows to conduct “hot” replacement of servers.

Memcached API includes only basic functions: server selecting, connection settings, adding, deleting, update and receiving of facility. The time of urgency is set for each object, starting from 1 second to infinity. When the memory is full, cache obsolete objects automatically is removed.

Memcached server was developed for LiveJournal site in order to reduce the load on the database server.