I need a high performance system for my Vbulletin forum

From EZP Knowledge Base

Jump to: navigation, search

 The most widely used web server in the world is Apache. But if you have ever used an Apache web server in production you would know for sure that it is not very scalable. If you need your web server to handle thousands of simultaneous requests, Apache is going to give you headaches.

A widely used high performance Asynchronous web server is Nginx (http://nginx.net) and it is ideal for installing in a dedicated server loaded with a website that has to handle a large number of simultaneous connections - such as a very busy Vbulletin site.


Installing Nginx:
We prefer to install Nginx from source as we get the latest stable version of this project instead of installing from your operating systems package repository as this may sometimes be outdated.

Get the latest stable release from http://nginx.net

At the time of writing this, we downloaded http://sysoev.ru/nginx/nginx-0.6.32.tar.gz

You will need to install the following development libraries using apt-get:


apt-get install libgcrypt11-dev libpcre3-dev libssl-dev

tar -xvzf nginx-0.6.32.tar.gz

cd nginx-0.6.32

mkdir /usr/local/nginx

./configure –prefix=/usr/local/nginx –user=nobody –group=nogroup –with-http_ssl_module –with-http_realip_module –with-http_addition_module –with-http_sub_module –with-http_gzip_static_module –with-http_stub_status_module –without-mail_pop3_module –without-mail_imap_module –without-mail_smtp_module –with-md5=/usr/lib

make

make install


That's it, we now have to configure nginx and start the daemon to start serving web content.


As Nginx does not support PHP by default, we have to use Nginx's fastcgi interface to talk to a external fastcgi process spawned by a fastcgi process manager like php-fpm. This sounds a bit complicated but trust us, it works.
Download the patch file for your php version from http://php-fpm.anight.org/

Download your php version of choice from http://php.net

Here's what we did.. and remember that both these projects are very actively updated. So by the time you read this they will very likely have better versions available :)


cd /usr/local/src

wget http://php-fpm.anight.org/downloads/head/php-5.2.6-fpm-0.5.8.diff.gz

wget http://in.php.net/get/php-5.2.6.tar.bz2/from/us2.php.net/mirror

gzip -cd php-5.2.6-fpm-0.5.8.diff.gz | patch -d php-5.2.6 -p1

cd php-5.2.6

mkdir /usr/local/php

./configure –prefix=/usr/local/php –enable-fastcgi –enable-fpm –with-mcrypt –with-zlib –enable-mbstring –with-openssl –with-mysql –with-mysqli –with-gd –with-jpeg-dir –enable-gd-native-ttf –without-sqlite –disable-pdo –disable-reflection –with-curl –with-curlwrappers –enable-inline-optimization –disable-debug –disable-ipv6

make

make install


Please note that your ./configure script may produce an error such as missing libraries or header files. You must install these using your OS’s package manager. In debian sarge you can use apt-cache search “the missing libs” to get this done easily, in CentOS you could use yum search as well.


EZProvider Networks, Inc. provides High performance dedicated servers and Xen Powered VPS preconfigured with Nginx and PHP-fpm for your web hosting applications that demand high performance! Please contact sales@ezprovider.netfor more information.