Схема домашней сети предполагает , что у нас один хороший сервер на котором поднят 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 веб сервера на котором крутится ваш сайт
для каждого веб сервера.
Вот так, удачи.