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