Nginx – маленький и легкий, но очень мощный и эффективный web-сервер, созданный Игорем Сысоевым для использования на серверах компании Рамблер и любезно предоставленный им для использования open-source сообществом. Этот сервер может использоваться как самостоятельный HTTP-сервер или как reverse proxy перед Апачем или любым другим “тяжелым” веб сервером для снижения нагрузки на backend-сервере от большого количества одновременных HTTP-сессий. Как самостоятельный сервер, nginx без проблем выдерживает огромные нагрузки при раздаче статического контента (images, html-pages и т.д.).

Качаем последнюю стабильную версию, на даный момент это nginx-0.8.54 и устанавливаем

cd /usr/local/src/
wget http://nginx.org/download/nginx-0.8.54.tar.gz
tar -xvf nginx-0.8.54.tar.gz
cd nginx-0.8.54
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module


Если Вам выдает ошибку

./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.

тогда нужно установить следующие компоненты

yum install -y httpd-devel pcre perl pcre-devel zlib zlib-devel GeoIP GeoIP-devel

и конфигурим Nginx снова

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module
make
make install

Добавляем юзера nginx

useradd -M -r --shell /sbin/nologin --home-dir /usr/local/nginx nginx

далее редактируем конфиг Apache /etc/httpd/conf/httpd.conf (меняем порт с 80 на 8080) и далее рестартуєм Apache и Nginx

/etc/init.d/httpd restart
/etc/init.d/nginx restart

проверяем или все ОК

netstat -nltp |grep 80

результат должен быть таким

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      22581/nginx.conf    
tcp        0      0 :::8080                     :::*                        LISTEN      22620/httpd

Все Ninx установлен, но все домены начали работать с директории /usr/local/nginx/html/
Теперь просто нужно создать отдельный виртуалхост для вашего домена, в моем случае это server.yourmir.info
И так, для начала создаем диретория где будут хранится наши виртуал хосты

mkdir /usr/local/nginx/conf.d

далле приводим файл /usr/local/nginx/conf/nginx.conf к следующему виду

user              nginx;
worker_processes  1;
 
error_log         /usr/local/nginx/logs/error.log;
 
pid               /var/run/nginx.pid;
 
events {
    worker_connections  1024;
}
 
http {
    include       /usr/local/nginx/conf/mime.types;
    default_type  application/octet-stream;
 
    sendfile        on;
 
    #tcp_nopush     on;
 
    #keepalive_timeout  0;
    keepalive_timeout  65;
 
    #gzip  on;
 
 
server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
 
        location / {
            root   html;
            index  index.html index.htm;
        }
 
        #error_page  404              /404.html;
 
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
	}
 
    include /usr/local/nginx/conf.d/*.conf;
}

далее

cd /usr/local/nginx/conf.d/
touch server.yourmir.info.conf
vi server.yourmir.info.conf

И вставляем следующий конф:

server {
access_log off;
error_log  logs/vhost-error_log warn;
listen    80;
server_name  server.yourmir.info www.server.yourmir.info;
location ~* .(gif|jpg|jpeg|png|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|js|css|html|htm|wml)$ {
root   /home/server.yourmir.info/public_html;
}
}

Все, рестартуем Nginx и проверяем Ваш сайт, у меня ,повторюсь, это http://server.yourmir.info

/etc/init.d/nginx stop
/etc/init.d/nginx start