Proper place for heavy load web server

Good question…  what is proper? The answer is – your budget will determined what is proper. My proposals will be suitable for Web Servers with PHP projects, using MySQL as a database and Nginx as a web server.

I do not speak here about hired dedicated servers or hostings. Only collocation with proper server or even your company/home server room with serious ISP channel will be reviewed here.

If you will go to collocation, in most cases you will be limited by corporate style rack servers, though there are might be some options how to avoid huge expenses.

If will build company/home server room, than the great number of possibilities how to save the money and make service reliable will become available for you.

The biggest pros of colocation are:
1) Security.
2) Monitoring.
3) Power supply protection Continue reading

Linux CentOS

Please note this is specific manual (non general installation).

Why Linux CentOS ? First of all it is the replica of RedHat. Second – it is stable, if the package is inside the CentOS – means this package is almost bugs free. Third – if you wish to install new packages and avoid dependencies hell, you can use standard YUM and be happy. It is also the only true alternative to RedHat linux.

So which way of installation to choose ?

I prefer CentOS x64 bit version, due to the heavy load web projects   requires definitely more than 4GB of RAM. I also prefer CentOS network boot installation where you can get only 15 MB file like ‘CentOS-5.6-x86_64-netinstall.iso‘. Such a small image will give you opportunity to install you server via the following tools like KVMoverIP and brand solutions like DRAC (Dell), RSA (IBM) or iLo (HP).

Once you’ve downloaded the image and will start installation you will see the screen like this.

CentOS boot parametes

I suggest the following parameters after boot: linux text ext4 Continue reading

Nginx+

Being IT (not a developer) I was always searching for simple easy tune-able and effective solutions. First web server I’ve managed was IIS 2.0 on Windows NT 4.0 Server. In 1998 it was more than enough for University web page and I was as happy as Larry, and was very proud of my skills thinking that it is rock solid solution for ages 🙂

The year 2002 was my graduation, the university admin who replaced me on this post was surprised to see IIS 4.0, and as he said that I had a MustDie! solution. He was the one who showed me Apache, which I hated since my first contact due to I was complete fool in Linux, and continued to use IIS for any tasks in any job places where it was requested until 2005 when I’ve tasted the power of Linux as a file server and as a proxy server. I was stubbornly continue to use IIS until I’ve met a demanding PHP developer appeared in the company I work and he almost ate my brain insisting to move company server to APACHE. Yes! that’s appeared to be amazing, while I’ve was quite fluent in Linux and had perfect back server where I’ve played a lot with apache, and thanks Lance he thought me  all he knew about Apache, I’ve completely abandoned IIS 6.5 and became LAMP guy.

Once I moved to the company, which gives me good salary, but provided tight environment (only 4 quite old servers) with rapidly growing web site which gained from 1 000 000 to 16 000 000 page vies per month in half year, I’ve realized that I’m f$cked! My idea to deploy a Cluster for $$$$$ was rejected, with friendly reminding about storming job crisis, pushed me for searching a magic-wonder or whatever solution. The site I was responsible for during the peak activity of 3600 concurrent connections made users to wait for page load up to 45 seconds!

I’ve tried Lighthttpd, ZEUS and finaly in the beginning 2008 I found nginx. I had to learn the new but quite simple syntax and bit by bit to collect manuals and solutions how to mange it. First I was using it only for static data proxy, but later on I moved completely to nginx as a standalone web server. Since the 2009 I use nginx for all my customers who request Web Server solution with PHP running projects.

I will try to share all I know about this wonderful product, which has more pros than cons, and hope it will be useful for you.