|
|
|
|
|
|
|
Re: OpenVZ и WEB Hosting [message #33310 is a reply to message #33306] |
Tue, 07 October 2008 04:46 |
sHaggY_caT
Messages: 144 Registered: August 2008 Location: Moscow, Russian Federatio...
|
Senior Member |
|
|
Если я правильно поняла, у Вас один public IP, и несколько VPS'ок.
В этом случае можно сделать следующее:
1. Пробросить порт 80 на одну VPS с Apache, и использовать ее как web-сервер.
2. Пробросить порт 80 на одну из VPS, и установить на ней http-прокси(можно и акселерирующий).
Варианты:
а). Как в википедии, кэширующее проксирование Squid'ом:
* http://ru.wikipedia.org/wiki/Squid#.D0.9E.D0.B1.D1.80.D0.B0. D1.82.D0.BD.D0.BE.D0.B5_.D0.BA.D0.B5.D1.88.D0.B8.D1.80.D0.BE .D0.B2.D0.B0.D0.BD.D0.B8.D0.B5
б) Вариант, который подробно расписан в How-to в wiki самой OpenVZ:
* http://wiki.openvz.org/Shared_webhosting
Акселерирующее проксирование с помощью Lighthtpd (у буржуев он все-таки популярнее, чем nginx)
в) Акселерирующее проксирование с помощью nginx. Я сделала именно так:
* http://www.altlinux.org/OpenVZ/Sharedhosting
На одной из моих VPS установлен nginx и есть такое правило в пакетном филтре на ноде:
[shaggycat@hn network-scripts]$ sudo vzlist | grep nginx
9033 10 running 10.0.9.33 test_nginx_2.loc
[shaggycat@hn network-scripts]$
[shaggycat@hn network-scripts]$ sudo iptables-save | grep 10.0.9.33
-A PREROUTING -d xx.xx.xx.xx -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.9.33:80
(Здесь и далее xx.xx.xx.xx, Public IP)
И на самой VPS есть правило в акселераторе:
test_nginx_2:~# cat /etc/nginx/nginx.conf | grep proxy_pass
proxy_pass_header Server;
proxy_pass http://127.0.0.1:80;
proxy_pass http://127.0.0.1:80;
Эти VPS-ки и есть веб-сервера:
[shaggycat@hn network-scripts]$ sudo vzlist | grep lamp
9002 19 running 10.0.9.2 test-lamp.loc
9044 20 running 10.0.9.44 lamp_debian.loc
[shaggycat@hn network-scripts]$
На одной PHP4 + MySQL 4, на другой PHP5 + Mysql 5.
Я тоже оказалась в ситуации, когда есть один public IP, и нужно как-то разрулить использование web-контента на несколько VPS))
Если VPS отдаются клиентам, могу порекомендовать пробросить порт ssh и http, я сделала, для своего хорошего друга, вот так(для него правил в nginx'е пока нет):
[shaggycat@hn network-scripts]$ sudo iptables-save | grep 10.0.7.4
-A PREROUTING -d xx.xx.xx.xx -i eth0 -p tcp -m tcp --dport 7422 -j DNAT --to-destination 10.0.7.4:22
-A PREROUTING -d xx.xx.xx.xx -i eth0 -p tcp -m tcp --dport 7480 -j DNAT --to-destination 10.0.7.4:80
-A POSTROUTING -s 10.0.7.4 -p tcp -m tcp --dport 25 -j DROP
-A INPUT -s 10.0.7.4 -p tcp -m multiport --dports 25 -j DROP
-A FORWARD -s 10.0.7.4 -p tcp -m multiport --dports 25 -j DROP
[shaggycat@hn network-scripts]$
25-й порт закрыт, так как хотя я ему самому и очень доверяю, как человеку, не уверена, что можно доверять его коду, и его VPS однажды не поломают, и не начнут спамить)))
P.S. Я вообще не использую "железные" роутеры (даже wi-fi дома как софтовое решение, хотя, конечно, это и изврат).
В данном случае, imho, железка не нужна вообще.
У решения есть главный минус: при использовании Venet сетки, хотя и не теряется производтельность, про access логи можно забыть, так как в логах будет фигурировать лишь IP ноды, через карточку которой идет роут.
P.P.S. сорр за возможные ошибки, я просто вмесо того, что бы собираться на работу, взялась отвечать на Ваш вопрос, и уже опаздываю (а вылезла на форум глянуть, не ответил ли кто на мой вопрос).
IT-outsource for UNIX servers,
http://ha-systems.ru
[Updated on: Tue, 07 October 2008 04:51] Report message to a moderator
|
|
|
Re: OpenVZ и WEB Hosting [message #33311 is a reply to message #33310] |
Tue, 07 October 2008 06:49 |
Bobele
Messages: 37 Registered: March 2006
|
Member |
|
|
Огромное спасибо за ответ !!!
Маленькое уточнение:
У меня несколько public IP, т.е. каждая VPS 1xx которая подключена к eth1 через br0 имеет свой public IP.
На каждой из них может работать что угодно (apache, mysql, postgrsql, sshd и т.д.), все порты должны быть открыты.
Важное условие: из них (public VPS Root Server) не должна быть видна сеть 10.x.x.x
[Updated on: Tue, 07 October 2008 07:01] Report message to a moderator
|
|
|
Re: OpenVZ и WEB Hosting [message #33312 is a reply to message #33311] |
Tue, 07 October 2008 07:24 |
sHaggY_caT
Messages: 144 Registered: August 2008 Location: Moscow, Russian Federatio...
|
Senior Member |
|
|
Тогда, Ваш случай так же описан в wiki:
* http://wiki.openvz.org/Common_Networking_HOWTOs
Для доступа к различным сервисам на VPS с приватными IP можно попробовать использовать проксирование (nginx умеет проксировать не только http, но и, например, ftp).
Может быть, не очень и красиво, но...
А еще, можно на ноде использовать несколько публичных IP для приватных VPS, и просто сделать проброс соотвествующих портов на сервисы приватных VPS, которые должны быть доступны.
IT-outsource for UNIX servers,
http://ha-systems.ru
|
|
|
|
|
Re: OpenVZ и WEB Hosting [message #33363 is a reply to message #33348] |
Wed, 08 October 2008 20:33 |
Bobele
Messages: 37 Registered: March 2006
|
Member |
|
|
Подскажите, как убрать из VE interface venet0 ?
А то внутри VE 110 получается такое:
# ip r l
192.0.2.1 dev venet0 scope link
85.86.87.96/28 dev eth0 proto kernel scope link src 85.86.87.108
default via 192.0.2.1 dev venet0
default via 85.86.87.97 dev eth0
Отвечаю:
Если раньше VPS работала через venet0, а затем он был удален через команду --ipdel,
то внутри в VPS все равно остается настройка в /etc/network/interfaces.
Надо просто зайти туда и почистить.....
[Updated on: Thu, 09 October 2008 15:30] Report message to a moderator
|
|
|
Re: OpenVZ и WEB Hosting [message #33374 is a reply to message #33363] |
Thu, 09 October 2008 12:53 |
Bobele
Messages: 37 Registered: March 2006
|
Member |
|
|
Как автоматически поднять Bridge без IP адреса при старте HN ?
Отвечаю: В /etc/network/interfaces
auto br0
iface br0 inet manual
bridge_ports eth1
bridge_maxwait 0
post-up echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp
Он (br0) автоматически поднимает eth1
[Updated on: Wed, 15 October 2008 17:45] Report message to a moderator
|
|
|
|
|
|
|