Схема домашньої мережі припускає, що у нас один хороший сервер на якому піднято KVM і хостинговая частина складається з двох (і більше) віртуалок - Роутер (Firewall), на роутер приходить один білий IP. Веб сервер (-а). Щоб для кожного можна було виділяти окремий Веб сервер. Nginx поставимо на Роутер і будемо проксіровать доменні імена сайтів на потрібний нам веб сервер.

     Поехплі, додамо репозиторій nginx в yum, створимо файл nano /etc/yum.repos.d/nginx.repo і скопіюємо в нього наступні рядки :


[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0

    

     Міняємо $ releasever на "5" (для 5.x) або на "6" (для 6.x), залежно від версії Вашої операційної системи. Ctrl O Ctrl X

Ставимо як зазвичай:

yum install nginx

chkconfig nginx on

     Відкрийте файл конфігурації nginx nano /etc/nginx/nginx.conf і змініть значення параметра worker_processes. Воно повинно дорівнювати кількості процесорів на Вашому сервере.В нашому випадку в віртуалку роутера ми віддали 4 ядра тому;

worker_processes 4;

Дозвольте стиск:

gzip on;

Ctrl+O Ctrl+X

service nginx start

У файл nano /etc/sysconfig/iptables додайте рядок (відкриття 80 порту):

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

service iptables restart

Тепер, так як конфігурація у нас специфічна, створимо файл nano /etc/nginx/conf.d/router.conf в якому опишемо куди ми хочемо проксіровать вхідні пакети, вміст:

server {
    listen       80;
    server_name  router.ru www.router.ru ;    #тут через пробіл переписуємо всі доменні імена які висять на вашому білому IP в DNS

    server_name_in_redirect off;
    access_log /var/log/nginx/router_access.log;
    error_log /var/log/nginx/router_error.log;

    client_max_body_size 10m;
    proxy_buffers 4 256k;

    location ~ /\.git {
        deny all;
    }

    location / {
        proxy_pass                    http://xxx.xxx.xxx.xxx:80;    #тут ip веб сервера на якому крутиться ваш сайт
        proxy_redirect              off;
        proxy_set_header        Host            $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

    }
}

Ctrl+O Ctrl+X

service nginx restart

Ну от, якщо апач на веб сервері піднятий, то все має працювати.

Як не важко здогадатися, якщо ваша конфігурація хостингу складається з декількох незалежних Веб серверів, то треба створити стільки файлів подібних цьому з різними

proxy_pass                    http://xxx.xxx.xxx.xxx:80;    #тут ip веб сервера на якому крутиться ваш сайт для кожного веб

                                                                                         сервера.

Ось так, удачі.