RSS Записей | RSS Комментариев
Ядоблог - Stay upwind

Архив ‘VPS’ Категории

Как сделать домен доступным через несклько интерфейсов

июля 22, 2011 | 2 Комментариев

Допустим у нас дома стоит сервер и для надёжности подведено несколько провайдеров. Как сделать доступными сайты этого сервера, если допустим основной провайдер упадёт?

Решение красивое =). смотреть тут:http://www.bloged.org/2009/07/nginx.html

Суть:
1. Берём VDS где-нить в ацко надёжном месте. например тут: TinyVDS
2. Настраиваем на нём проксирование nginx’ом запросов на нужные сайты (можно всех). Об этом я писал тут nginx, Двойное проксирование, реальный IP, только указываем наш mycloud вместо IP как получателя с чем-то вроде max_fails=3 fail_timeout=120
3. Настраиваем nginx на основном сервере, с кучей провайдеров
Наслаждаемся =)

Есть ещё решения? делитесь =)

upd, статья, вдруг сайт удалится:

Простая конфигурация

Допустим, вы разместили ваше приложение на нескольких серверах, пусть это будут три сервера с именами myserv-1.local, myserv-2.local и myserv-3.local, расположенные в вашей локальной сети (конечно же, на самом деле без разницы, где они будут размещаться). Для того, чтобы описать такое «облако» из трёх серверов в Nginx используется опция upstream:

upstream mySuperCloud {
  server myserv-1.local;
  server myserv-2.local;
  server myserv-3.local;
}

Описанное таким образом «облако» из нескольких upstream-серверов теперь можно использовать в качестве значения параметра proxy_pass, рассмотренного в предыдущей статье. Везде, где Nginx будет наталкиваться на ссылку (в нашем случае — «mySuperCloud»), он будет по алгоритму Round-Robin выбирать следующий сервер и выполнять обратное проксирование к нему и от него. Таким образом, теперь, описывая виртуальный хост, вы можете сослаться на ваше «облако»:

server {
  listen 192.168.0.1:80;
  access_log /var/log/nginx/proxy.log;
  location / {
    proxy_pass http://mycloud;
  }
}

Привязка клиента к серверу

Часто бывает нужно, чтобы один и тот же клиент, начав делать запросы к какому-то определённому серверу, не переключался на другие. Для этого в Nginx предусмотрена опция ip_hash. Если она определена, сервер будет запоминать IP-хеши клиентов и стараться проксировать каждого из них на один и тот же сервер.

upstream mySuperCloud {
  ip_hash;
  server myserv-1.local;
  server myserv-2.local;
  server myserv-3.local;
}

Исключение сервера из «облака»

Если какой-то сервер по каким-то причинам вам необходимо отключить, чтобы Nginx не проксировал к нему клиентов, воспользуйетсь опцией down:

upstream mySuperCloud {
  server myserv-1.local;
  server myserv-2.local down;
  server myserv-3.local;
}

Определение «веса» сервера

«Вес» сервера, грубо говоря, определяет насколько часто сервер будет использоваться. Например, вес сервера myserv-1.local равен 3, вес myserv-2.local равен 1 и вес myserv-3.local равен 2. В этом случае Nginx проксирует первых трёх клиентов к серверу myserv-1.local, четвёртого — к myserv-2.local, а пятого и шестого — к myserv-2.local, после чего круг начнётся сначала. Для определения веса сервера используется директива weight, значение по умолчанию которой равно единице.

upstream mySuperCloud {
  server myserv-1.local weight=3;
  server myserv-2.local;
  server myserv-3.local weight=2;
}

Автоотключение серверов

Если какой-то из upstream-серверов перестанет отвечать на запросы, то подключение к нему станет невозможным. Nginx в этом случае переключиться на использование следующего сервера из «облака», однако каждый раз будет пытаться подключаться к неработающему серверу, растрачивая время. При помощи директивы max_fails параметра server можно определить максимально-допустимое количество неудачных попыток подключения к upstream-серверу, после чего тот будет считаться нерабочим и запросы к нему прекратятся. По умолчанию значение этого параметра равно единице, то есть после одной неудачной попытки Nginx на определённое время прекратит попытки новых подключений с нерабочему серверу. Это «определённое время» определяется значением опции fail_timeout, по умолчанию равным 10 секундам.

upstream mySuperCloud {
  server myserv-1.local max_fails=3 fail_timeout=120;
  server myserv-2.local;
  server myserv-3.local;
}

Резервные серверы

Под понятием «резервный» в Nginx выступает сервер, который используется тогда, и только тогда, когда все «не резервные» upstream-серверы определены как нерабочие, т. е. не отвечающие на запросы. Резервные серверы отмечаются с помощью директивы backup:

upstream mySuperCloud {
  server myserv-1.local;
  server myserv-2.local;
  server myserv-3.local;
  server backup-server-1.local backup;
  server backup-server-2.local backup;
}

VDS. Халява, только для русских!

февраля 6, 2011 | Комментариев нет

Есть уникальная возможность срубить бабла, сэкономив. Конечно если вы настоящий русский.

TinyVDS раздаёт скидку в 50% на первые 3 месяца юзания VDS.План действий:

1. регаемся тут: http://tinyvds.ru

2. смотрим цены (кликабельно):

3. офигеваем от текущих цен, какие они низкие

4. при создании VDS вводим промокод и получаем ацкую скидку в 50% на первые 3 месяца. Промокод: 3M50OFF

от себя скажу что пользуюсь услугами уже давненько:


службы мониторинга серверов

Отличительной особенностью тинивдс является то, что они дают в VDS все 4 ядра сервака. Сайты работают ацко быстро, даже вордпрессы.

VPS IAD

TinyVDS, регистрация со скидкой. Халява, только для русских!

сентября 21, 2010 | 5 Комментариев

На какое-то время доступен промокод, дающий скидку в 25% на первый месяц пользования VDS у компании TinyVDS.

Для использования перейдите по ссылке [ссылка на Тини] и введите при регистрации в поле Промокод значение 25OFF


На момент написания обзора я пользуюсь TinyVDS почти пол года. Вот кнопки о мониторинге надёжности:
службы мониторинга серверов
службы мониторинга серверов
Мой обзор можно почитать тут :VDS, каким пользоваться

Удачного дня!

apache, автоматическое создание виртуальных доменов

сентября 3, 2010 | 3 Комментариев

Периодически добавляю на сервер новые сайты. Процесс утомительный — скопировать, изменить, создать симлинки. Можно пользоваться webmin или ISPManager, но мы рассмотрим возможность использования bash скрипта для создания виртуальных хостов.
Использую данный скрипт:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash
ptdr=/var/www
domain=$@
if [ $domain ]
then echo Создаём новый виртуальный субдомен $domain
else echo Неверный синтаксис. Используйте: $0 new-domain.ru; exit
fi
 
echo "Создание виртуального хоста"
touch /etc/apache2/sites-available/$domain
echo -e " \n ServerName $domain \n DocumentRoot $ptdr/$domain  \n ServerAlias www.$domain \n ErrorLog /var/log/apache2/$domain.error.log \n CustomLog /var/log/apache2/$domain.access.log common \n" > /etc/apache2/sites-available/$domain
echo "Создание директорий"
mkdir $ptdr/$domain
ln -s /etc/apache2/sites-available/$domain /etc/apache2/sites-enabled/$domain
echo "Перезапуск Apache2"
sudo /etc/init.d/apache2 restart

Для удобства можно создать симлинк в /bin
И, для создания субдоменов будет аналогичный скриптик:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash
ptdr=/var/www
domain=$@
if [ $domain ]
then echo Создаём новый виртуальный субдомен $domain
else echo Неверный синтаксис. Используйте: $0 new-domain.ru; exit
fi
 
echo "Создание виртуального хоста"
touch /etc/apache2/sites-available/$domain
echo -e "<VirtualHost *:80> \n ServerName $domain \n DocumentRoot $ptdr/$domain  \n ErrorLog /var/log/apache2/$domain.error.log \n CustomLog /var/log/apache2/$domain.access.log common \n</VirtualHost>" > /etc/apache2/sites-available/$domain
echo "Создание директорий"
mkdir $ptdr/$domain
ln -s /etc/apache2/sites-available/$domain /etc/apache2/sites-enabled/$domain
echo "Перезапуск Apache2"
sudo /etc/init.d/apache2 restart

Удачного кодинга.

Apache, bash, VPS admin

Перенос всех сайтов на новую VDS

апреля 26, 2010 | Комментариев нет

На выходных переносил группу сайтов с VDSPlanet.ru На TinyVDS.ru
Поднял Apache+PHP+MySQL+NGINX
Настроил поисковый движок Sphinx
Установил WebMin на всякий случай для администрирования.
Развернул все сайты.
Заметил что на всё ушло всего порядка 4-5 часов.

Где разместить сайты?

апреля 3, 2010 | 4 Комментариев

Для начала определитесь кто вы, любитель или профессионал. Или решите кем вы хотите быть — любителем или профессионалом.

1. Обычный хостинг (выбор любителя):

Пример: mchost.ru

Плюсы:  Вам предоставят удобную панель, ftp доступ для закачки сайта, почтовые ящики, настроенный MYSQL сервер. Вам не придётся думать о резервном копировании и восстановлении из резервных копий. Все работы по обслуживанию сервера компания возьмёт на себя. Данным вариантом размещения сайта можно воспользоваться без предварительной подготовки(не требует больших начальных знаний в области работы с веб сайтами).

Минусы: Ваш сайт(сайты) будут делить ресурсы с соседями. В случае, если Ваш сайт будет создавать большую нагрузку на сервер(высокая посещаемость, ресурсо-ёмкие скрипты) Вам приостановят оказание услуг, либо попросят сменить тариф на более дорогой.

2. VDS(виртуальный выделенный сервер) (выбор начинающего профессионала):

Пример: vdsplanet.ru

Плюсы: Вы получаете вполне определённый сервер имеющий гарантированные ресурсы (частоту процессора, оперативную память, жёсткий диск). Данная технология подразумевает выполнение на одном физическом сервере нескольких виртуальных серверов. Чаще всего Вам понадобится знание устройства операционной системы Linux, т.к. виртуализация операционной системы Linux является, на текущий момент, наиболее проработанным и надёжным решением (по моему мнению). Вам предоставляется возможность установить всё необходимое программное обеспечение для обеспечения работы Ваших проектов. При этом выборе Вы уже можете мыслить не сайтами, а проектами, т.к. можете запускать на своём сервере необходимые службы, скрипты, работающие по планировщику, и.т.д.

Минусы: Вам нужно очень хорошо знать операционную систему, на которой работает ваш виртуальный сервер (чаще всего Linux).

Комментарий: Автор выбрал именно данный вариант (VPS)

3. Сервер (аренда или размещение собственного сервера на площадке провайдера) (профессиональный выбор):

Плюсы: Огромная производительность, сервер в полном Вашем владении.

Минусы: Все заботы о работе сервера лежат на Вас лично.

В дальнейшем я сконцентрируюсь на описании возможных вопросов, возникающих с выделенными серверами (VDS), т.к. располагаю необходимыми знаниями и опытом в решении типичных вопросов с виртуальными серверами.

© 2010 Ядоблог. Все права защишены.
Powered by Лаборатория Яда. Написать администратору