The common infrastructure of servers for all my websites

April 12th, 2008 | by Santiago Lizardo |

In this post I’ll explain you how I structured the components of almost all my websites.

- Programming language: PHP 5.x + eAccelerator (to boost the performance)

  • It’s a great programming language with huge features
  • The times to edit, test, and if it’s necessary, repair scripts written in PHP are really low
  • It’s well supported by the most popular hosting companies

- Database server: MySQL 5.x

  • All what you may need in a SQL engine
  • Also well supported by hosting companies

- Web server #1: lighttpd 1.x

I use this web server to serve the static content, such as stylesheets, javascripts, images, videos, etc… Doing this, I save a lot of bandwidth (compressing this content), cpu usage (the footprint for this web server is minimal)

- Web server #2: Apache HTTPD 2.2.x

For all the other requests is this web server who delivers the content (mainly dynamically generated by PHP, Python, or Perl).

- Application server: Jetty 6.x

When I need a particular functionality not supported (or partially supported) by PHP, then I go to Java. And due to the limitations on the RAM memory of my server, I need a small, low consuming app server like this one.

- Operating system: GNU/Linux (flavour: openSUSE)

Eventually, when a web site needs an intensive CPU process it’s better to split the main process (the HTTP request) and the task process into two. Running a task within the web server can be really expensive and depending on the restrictions of the web server, the request can be aborted before finished.

I’m preparing a diagram to attach to this post in the next days.

  1. 2 Responses to “The common infrastructure of servers for all my websites”

  2. By Jordi Catà on Apr 26, 2008 | Reply

    Hola Santiago,

    te faltaría un tema de memcache :-).

    saludos

  3. By Santiago Lizardo on May 20, 2008 | Reply

    Ostras, pues para ser franco, nunca lo he utilizado… ¿En que casos me lo recomendarías?

    ¡Muchas gracias!

Post a Comment