- Первоначальные настройки сервера
- Почтовый сервер
- Что такое облачный хостинг
- Что выбрать?
- ▍критерии выбора выделенного сервера
- ▍определите бюджет
- Xen, kvm или openvz — чем отличаются и какую виртуализацию выбрать
- Вместе или порознь?
- Как перенести сайт с виртуального хостинга на vps? — вопросы и ответы — джино
- Надежность
- Подключаемся к bitbucket
- Постановка задачи
Первоначальные настройки сервера
OC в VDS устанавливается автоматически. Достаточно выбрать версию и вариант с веб-панелью или без и чуть подождать, пока не придет письмо с данными для входа. На хостингах предлагаются и разные веб-панели. Когда этот материал создавался, Vesta не поддерживала Ubuntu 16.
04 и необходимости в ней не было, поэтому выбрали чистую систему. Все дальнейшие действия ведутся от имени root. Первым делом проверяем локаль, часовой пояс и время. Вообще, веб-приложения обычно не обращают внимания на некоторые системные настройки, но иногда попадается именно тот случай, поэтому лучше сразу сделать все правильно.
# localeЕсли в ответ получаем отличное от ru_RU.UTF — перенастраиваем.
# locale-gen ru_RU ru_RU.UTF-8 ru_RU ru_RU.UTF-8
# localedef -c -i ru_RU -f UTF-8 ru_RU.UTF-8
# dpkg-reconfigure locales
# update-locale LANG=ru_RU.UTF-8Проверяем время:
# dateЕсли часовой пояс не соответствует — переконфигурируем.
# dpkg-reconfigure tzdataОбновляем сервер:
# apt update && apt upgradeТеперь можем ставить сервисы.

Почтовый сервер
Хотя некоторые приложения могут напрямую подключаться к внешнему SMTP (что очень даже хорошо: в случае взлома провайдер не забанит аккаунт из-за рассылки спама), но в большинстве приложений для отправки почты используют функцию mail(), а поэтому нам потребуется локальный SMTP-сервер.
Здесь опять два варианта: настроить полноценный сервер или установить прокси, который будет подменять SMTP, переправляя запросы на внешний сервер (потребуется почтовый ящик). В качестве последнего отлично подходит ssmtp, который есть в репозитории. Хотя установить «большой» сервер в минимальной конфигурации — дело пяти минут.
# apt install postfixВ процессе выбираем «Интернет-сайт» и указываем домен.
# nano /etc/postfix/main.cf
myhostname = example.org
mydestination = $myhostname, localhost.localdomain, localhost
# Чтобы подключались только с локальных адресов
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128Перезапускаем:
# service postfix restartИ почта должна уже работать. Единственный момент — если почтовый ящик домена привязан к Gmail, то, когда в него идет письмо с этого же домена, технология DMARC Gmail может его отбросить как спам. Хотя если отправитель будет другой, то все будет работать.
mydestination = $mydomain, localhost.$mydomain, localhost
Что такое облачный хостинг
Облачный хостинг использует облачные ресурсы для развёртывания сайтов, мобильных приложений и даже целых «офисов в облаке» (
). В отличие от других видов хостинга это происходит не на одном локальном сервере, а на нескольких связанных в кластер физических и виртуальных серверов к которым добавляются связанные в сеть системы хранения данных (
). При аренде пользователь платит только за используемые по факту ресурсы, которые могут быстро масштабироваться или отключаться в зависимости от нужд. Причём оплата почасовая, то есть можно настроить потребление ресурсов в дневное и ночное время. Настройки могут регулироваться в автоматическом режиме через приложение. Эта гибкость — основное преимущество облачного хостинга.
Облачная модель набирает популярность во многом благодаря разработкам BaaS (Backend-as-a-Service — бэкенд как услуга) и IaaS (Infrastructure-as-a-Service — инфраструктура как услуга). Не будем углубляться в её описание, так как это выходит за рамки статьи.
Скажем только, что разработчиков привлекает в ней универсальность кросс-платформенного бэкенда для любого проекта, а владельцев бизнеса — надёжность резервного копирования и удобство коллективной работы над проектами. Подходит для крупных и быстрорастущих проектов, компаний с сезонными колебаниями спроса.
В облаке сайты размещаются в обособленных средах — контейнерах. В одном контейнере, например, могут располагаться рабочие версии сайтов, в другом — тестовые. Процессы и возможные неполадки в работе сайтов как внутри контейнеров, так и между контейнерами никак не отражаются на остальных сайтах. Внутри отдельного контейнера можно размещать неограниченное количество проектов.
Что выбрать?
При выборе хостинга нужно
. Облачный хостинг – это защищенная среда и свобода масштабирования ресурсов.
При небольшом бюджете рекомендуется VPS-хостинг: он предлагает больше функций и простую панель управления, больше IP-адресов и больше серверных ресурсов – процессорных, памяти, ввода-вывода, ресурсов хранения и канал доступа. По сути, виртуальный сервер аналогичен выделенному – вы его полностью контролируете, можете перезагружать, а стоит он намного дешевле.
Резюмируя, можно сказать, что VPS-хостинг – это низкая стоимость, контроль и безопасность, а облачный – возможности кастомизации и производительность. VPS-хостинг предпочтительнее для персонального использования и клиентов из сегмента SMB, а облачный – для более крупных заказчиков.
VPS-хостинг – хороший вариант для бизнес-критичных приложений и данных, когда предпочтительнее централизованное хранение. Однако при этом не обеспечивается высокая доступность (high-availability), при отказе хоста упадут все VPS. Возможны проблемы с информационной безопасностью.
Если один из клиентов пренебрегает защитой, это может повлиять на другие VPS. Ресурсы системы разделяются между клиентами: ЦП, ОЗУ полоса пропускания сети. Если одному VPS потребуется больше ресурсов, это может повлиять на остальные виртуальные серверы. На каждом хосте может использоваться только одна ОС.
VPS-хостинг не является масштабируемым. Ресурсы лимитированы ограничениями физического сервера. Когда вы исчерпаете свой максимум ресурсов, выделенных для VPS, придется менять тариф или рассмотреть другие варианты. Это может занять немало времени — несколько часов или дней простоя.
Если вы хотите получить высокую надежность и мощные функции, то облачный хостинг – хороший выбор. Этот рынок имеет огромный потенциал, а постепенное снижение цен делает облачный хостинг более доступным.
VPS подойдет для тех, кого просто интересует хостинг Web-сайта. Однако, предлагая мощные возможности, VPS-хостинг не гарантирует безотказной работы вашего сайта в случае большого трафика или технического сбоя.
Облачный хостинг – это практические неограниченные ресурсы, максимальная полоса пропускания, балансирование нагрузки, отсутствие привязки к конкретным аппаратным компонентам, масштабируемость – можно в любой момент добавить (при увеличении нагрузки) или освободить ресурсы.
Кроме того, такой хостинг предоставляет возможности кастомизация инфраструктуры: клиенты могут использовать специальную сетевую инфраструктуру, балансировщики нагрузки, сетевые экраны. Наконец, это высокая доступность: при отказе физического сервера ВМ мигрируют на другой сервер без прерывания работы.
В случае облачного виртуального сервера можно докупать ресурсы, легко добавлять оперативную память, процессорные мощности, почти неограниченные ресурсы хранения в SAN или даже создавать клоны — копии вашего сервера для резервного копирования данных.
Облачный хостинг – хороший выбор для быстро растущего бизнеса или компаний с сезонными колебаниями спроса. Это экономичный способ масштабирования ресурсов и консолидации серверов.
Подитожим «за» и «против»:
VPS
Облачный хостинг
Сервисы VDS/VPS получили широкое распространение и пользуются спросом со стороны владельцев сайтов, которым выделенного физического сервера не требуется. VPS часто используется небольшими компаниями для хостинга сайтов, разработки и тестирования программного обеспечения и размещения систем управления контентом.
Услуги VPS оказывают многие компании, которые дополняют их облачными сервисами, услугами управления и поддержки, обеспечения безопасности, лицензирования ПО. Стоимость формируется в зависимости от набора услуг поддержки и администрирования.
Хостинг-провайдеры внедряют новые технологии. Этот сервис эволюционирует и приобретает свойства типичного облачного сервиса, наряду с невысокой стоимостью и удобным управлением привлекает простой масштабируемостью, когда вычислительные ресурсы, память или емкость хранения добавляются без проблем. И постепенно облачный хостинг оставляет позади традиционные виды хостинга, стирается грань между VPS и IaaS.
▍критерии выбора выделенного сервера
- Нынешнее и планируемое количество посетителей ресурса. В среднем типичный выделенный сервер для российской компании (без оптимизирования производительности) выдерживает 2 000 — 300 000 хостов в сутки (уникальных посетителей).
- Статичность или обновляемость проекта. Есть сайты с большим посещением в сутки (около 30 000 хостов), но с относительно редким добавлением новых объёмных данных, без использования посетителями сложных фильтров для отбора — они не требуют больших мощностей: тематические коллективные блоги, форумы. И есть, например, крупные интернет-магазины или онлайн-кинотеатры с частой обновляемостью базы, инструментами выборки из огромного списка товаров, постоянной подгрузкой позиций со склада — для них нужны огромные мощности.
- Платформа. Как мы уже сказали выше, от выбранной операционной системы зависит набор возможностей и поддерживаемых служб. Причём, некоторые провайдеры не предоставляют выбора ОС (в основном зарубежные) — это надо учитывать изначально.
- Набор функций. Не все услуги, входящие в пакет аренды, могут понадобиться. Однако каждая из них добавляет стоимости. Желательно понимать, что действительно необходимо для проекта, а что нет.
- Возможность масштабирования. Потому что увеличение мощностей сервера в будущем экономичней, чем приобретение новой конфигурации машины, более производительного серверного решения.
▍определите бюджет
Русская пословица «дорого да мило, дёшево да гнило» как никогда работает при выборе технических решений и тем более услуг хостинг-провайдера. Вот смотрите, вы выбираете себе рабочий ноутбук: смотрите память, оперативную память, процессор, видеокарту и т.д.
У вас нет принципа «даёшь экономию на всём, лишь бы печатало», потому что вы прекрасно знаете, что хорошая техника хорошо стоит. Но почему-то как дело доходит до хостинга, пользователи пытаются экономить на всём. Это крайне нелогично, потому что вы прежде всего покупаете «кусок» мощного железного сервера, который будет обслуживать ваши задачи.
Если вы решаетесь на что-то очень недорогое, то стоит понимать, что ваш проект будет ограничен в мощностях и при масштабировании потребует дополнительных трат. Ну а бесплатный сыр по-прежнему в мышеловке: выбирая бесплатный VPS, вы рискуете всем, от бэкапов до никакой техподдержки и низкого аптайма.
Поэтому трезво оцените ваши реальные потребности и арендуйте конфигурацию, которая вам действительно нужна, а не которая на 250 р. дешевле.
Кстати, у RUVDS есть дешёвые VPS — от 130 р. с включеной в стоимость панелью ISP и очень дешевые от 30 р., но за ними придется отстоять очередь, уж больно много желающих получить хоть и крохотную, но виртуалку по цене белого IPv4.
На сайтах крупных провайдеров есть удобные визуальные конфигураторы нужных вам серверов
Xen, kvm или openvz — чем отличаются и какую виртуализацию выбрать
Главное отличие технологии виртуализации OpenVZ от XEN или KVM в том, что серверы VPS на OpenVZ не имеют собственного ядра ОС. Ядра на XEN или KVM являются более изолированными друг от друга, что позволяет более гибко настраивать сервер, устанавливать специфические модули для ядра ОС.
XEN, KVM vs OpenVZ VPS — что лучше?
OpenVZ — технология виртуализации, реализованная на уровне операционной системы. Все виртуальные машины запускаются из основной операционной системы физического сервера и базируются на едином ядре Linux. Каждая машина эмулирует работу физического сервера.
Основные особенности:
Подробнее о технологии читайте в статье: Виртуализация OpenVZ.
XEN — монитор виртуальных машин или гипервизор, который заменяет операционную систему физического сервера, перенося ее в виртуальную среду. Виртуальный сервер, основанный на технологии XEN, имеет собственное ядро операционной системы. Подробнее о преимуществах и особенностях технологии XEN: Виртуализация XEN.
KVM — технология виртуализации, позволяющая создать аналог физического сервера. Каждая услуга полностью изолирована от «соседей» и обладает собственным ядром операционной системы. Поэтому у пользователя есть возможность настраивать и модифицировать сервер под свой проект без ограничений.
Основные особенности:
Подробнее об особенностях и возможностях технологии KVM: Виртуализация KVM
С точки зрения использования выделенного сервера (VPS), разницы между KVM и XEN нет. Однако мы рекомендуем к использованию KVM VPS. Так как она является более современной системой виртуализации с колоссальной поддержкой со стороны крупных игроков рынка.
В конечном счёте всё зависит от того, какие именно сайты будут расположены на сервере, насколько требовательны к ресурсам плагины и расширения, насколько оптимизированы настройки сервера под нужды ваших сайтов. При выборе тарифного плана рекомендуем проконсультироваться с разработчиками сайтов.
Вместе или порознь?
Когда перед вами встал вопрос «виртуальный хостинг или VPS — что выбрать?», прежде всего следует обратить внимание на способы организации двух технологий. Зачастую для наглядности их сравнивают с жилищем, где обитают ваши данные.
Виртуальный хостинг — это коммунальная квартира, где все клиенты ютятся на одном квадратном метре и прячут свои секреты друг от друга за занавеской. Это, тем не менее, не мешает им дружить, хоть иногда ссоры и неизбежны.
VPS, он же — частный виртуальный сервер, — это дом, неограниченный по своему «метражу», который по праву принадлежит только вам. Конечно, другие могут приходить к вам в гости, но только по приглашению, ведь незваный гость, как мы знаем, хуже всякого завоевателя.
Если же отойти от ассоциаций, то хостинг — это n-ое количество виртуальных машин, которые располагаются на одном физическом «железе». Принцип работы выглядит следующим образом: множество клиентов «живут» в одном виртуальном пространстве. Все ресурсы, которые предоставлены им в пользование, — общие.
Эта услуга отлично подойдет клиентам со сравнительно небольшими нагрузками и базовым функционалом (стандартные панели управления, «админки» сайтов и т.д.). Но не стоит забывать о том, что любой из ваших соседей может оказаться недостаточно ответственным, и в какой-то момент ваша база данных может попросту «подвиснуть», потому что кто-то не рассчитал нагрузку и забрал себе слишком много ресурсов.
VPS — это виртуальная машина, которая «крутится» на физическом сервере. И да, таких «виртуалок» на одном «железе» тоже может быть несколько, но здесь клиент получает абсолютно независимую площадку, доступ к которой имеет только он сам. Получается, что условный владелец виртуального сервера ни от кого не зависит, а значит любые сбои системы исключены, если только пользователь приобрел достаточное количество ресурсов под свои задачи.
Как перенести сайт с виртуального хостинга на vps? — вопросы и ответы — джино
Зайдите в панель управления хостингом в личном кабинете.
Перейдите в раздел «Управление / Управление MySQL».
Войдите в phpMyAdmin. Кликните на базу данных вашего сайта, на открывшейся странице нажмите на ссылку «Экспорт».
В появившемся окне дойдите до кнопки отправки формы и, не изменяя выставленных параметров, скачайте файл с базой на свое устройство.
Вернитесь в панель управления хостингом, и перейдите в раздел
«Управление / Файловый менеджер».
Откройте в файловом менеджере директорию «domains», заархивируйте и скачайте папку с нужным сайтом к себе на компьютер.
Пройдите в личный кабинет, в раздел «VPS».
Кликните на «Новый сервер», выберите подходящий тарифный план, операционную систему CentOS 7 с панелью «Джино» и нажмите «Создать сервер».
Через некоторое время ваш сервер будет создан. Когда это произойдет, зайдите в его панель управления.
Перейдите в раздел «Управление / Управление MySQL».
Создайте базу данных и — обязательно — дополнительного пользователя для нее, затем зайдите в phpMyAdmin от имени этого пользователя.
Использовать пользователя root крайне не рекомендуется: это может быть небезопасно.
В phpMyAdmin выберите созданную вами базу данных, нажмите на вкладку «Импорт», выгрузите файл с базой данных,
который вы сохраняли на третьем шаге, нажмите на кнопку «OK» и дождитесь завершения импорта.
Вернитесь в панель управления вашим сервером, перейдите в раздел «Управление / Файловый менеджер».
В файловом менеджере вы оказались в директории /root. Нажмите на кнопку «Домены»:
вы попадете в /var/www/domains. Загрузите архив со скачанным сайтом и распакуйте его.
Убедитесь, что папка с именем домена не продублировалась, то есть файлы сайта
лежат в директории /var/www/domains/example.com, а не /var/www/domains/example.com/example.com.
Распакуйте и откройте папку с загруженным сайтом, найдите файл конфигурации и смените данные для подключения к базе данных:
Имя сервера (хост): localhost
Имя пользователя (логин): имя пользователя, заданное при создании БД
Пароль: заданный вами пароль при создании БД
Имя БД: имя базы, указанное при создании
Если вы не знаете, где находится файл конфигурации, а сайт у вас работает на популярной CMS, попробуйте найти ответ в поисковой системе.
Проследуйте в личный кабинет, в раздел «Домены».
Нажмите на нужный домен и на открывшейся странице измените привязку домена с сервиса «Хостинг» на «VPS».
Материал подготовлен пользователем «Джино» в рамках программы обмена опытом.
«Джино» не несет ответственности за его содержание и не гарантирует корректность
и актуальность представленной информации.
Надежность
Хороший VPS-хостинг отличают высокие показатели времени бесперебойной работы и скорости загрузки страниц. Но в ситуации с VPS, если упадет хост, либо «отвалится» часть хоста, то упадет и виртуальный сервер: придется ждать, пока провайдер не устранит проблему.
Как и VPS-хостинг, облачный хостинг характеризует высокая надежность и скорость, но при сравнении оказывается, что за счет кластера серверов надежность облачного хостинга намного выше. При облачном хостинге любой отказ приводит к перемаршрутизации трафика на другой доступный физический ресурс.
Таким образом, Web-сайты в облаке обладают высокой доступностью. Они тиражируются между серверами кластера. При резком росте трафика одного сайта запросы маршрутизируются на менее нагруженный сервер в облаке. При отказе одного физического сервера в кластере все виртуальные машины будут продолжать работать.
Подключаемся к bitbucket
Вся изюминка переноса состояла в использовании при разработке веб-сайта Git. Выглядело интересно, осталось только это все реализовать. Здесь можно пойти несколькими путями. Самый, наверное, простой — инициализировать локальный репозиторий и позволить разработчику при коммите выкладывать файлы прямо на сервер.
Минус здесь — мы фактически даем ему доступ на сервер. Поэтому лучше перестраховаться, и самым правильным вариантом будет использовать посредника с возможностью автоматического pull файлов после коммита. Так мы получаем еще один источник бэкапа. В качестве промежуточного сервиса был выбран сервис «ведро битов» Bitbucket, предлагающий всякие вкусности вроде бесплатных «private»-репозиториев и удобного интерфейса. Хотя, в принципе, это может быть любой другой подобный сервис — GitHub или Google Cloud Source Repositories.
Механизм взаимодействия будет простым. Создаем репозиторий (можно в отдельной теме), инициализируем Git прямо в корне сайта (как вариант, можно переносить с другого каталога, но это не так интересно), добавляем удаленный репозиторий Bitbucket и подключаем сервер к аккаунту Bitbucket.
Постановка задачи
Ситуация самая жизненная. Интернет-магазин, размещенный на шаред-хостинге, после запуска начал получать клиентов, но появились пожелания к функциональности, и разработчики активно занялись доработкой сайта. Выяснилось, что, когда в этом участвует несколько человек, постоянно копировать файлы через FTP для теста, да и еще на рабочий сайт, очень проблемно.
Терялся контроль, кто когда что сделал, нужно было беспокоиться о сохранении оригинальных файлов, чтобы было легко откатиться. Владельцу приходилось или согласовывать правки, или копировать все самому. Разработчик не мог сразу посмотреть результат и ждал.
Процесс сильно тормозился. В итоге пришли к тому, что нужно использовать возможности Git и создать новый сайт-зеркало, где можно было бы все обкатывать. При такой схеме разработчик мог сразу тестировать код, а в случае одобрения код переносили в master и выкладывали уже на рабочий сайт. Также можно легко отслеживать коммиты.
Вторая проблема: хостинг постоянно падал. Причину в итоге нашли: Entry processes limit — параметр, который определяет количество CGI/PHP-процессов, входящих внутрь виртуального контейнера, и о котором не сильно любят говорить маркетологи хостера. На графиках его тоже не видно, только маленькая графа в таблице.

