Будем выбирать VPS/VDS по параметрам.
VPS — virtual private server
VDS — virtual dedicated server
Читаем статью
Чем отличается сервер VPS от VDS
Другими словами — виртуальный компьютер у хостера, где Вы можете разместить свой web-проект. Компьютер как настоящий (cpu, память, диск, ОС) — только нарисованный в памяти сервера.
Про варианты работы VDS читаем статью
Основные параметры:
- система виртуализации (OpenVZ, KVM, Hyper-V)
- операционная система (Linux, Windows)
- число ядер процессора
- диск (SAS, SSD, NVMe)
- оперативная память RAM
- трафик и ширина канала
- панель управления сервером (для настоящих любителей Lunix необязательно)
И собственно web-проект можно разделить на три категории:
- информационный сайт с малой посещаемостью
- информационный сайт с большой посещаемостью
- интернет-магазин с большой посещаемостью
Итого как минимум 15 вариантов (5*3), будем разбирать по частям.
Система виртуализации
По ценам (по убыванию):
- Hyper-V — самая дорогая из-за платной лицензии Microsoft
- KVM — на базе Linux
- OpenVZ — на базе Linux — самая дешевая
Казалось бы, выбор очевиден. Выбираем самый дешевый вариант OpenVZ и работаем?
Но в самом дешевом вариант есть проблема. Эта проблема — ограничение ресурсов.
В OpenVZ нет свопа (swap-file) на диске
При исчерпании оперативной памяти — дополнительную память с диска взять нельзя. Система не будет работать медленнее — она просто перестанет работать. Будут удалены процессы из памяти, которые занимают больше всего места, как правило это управление базой MySql = сайт перестает работать. Нужно перезапускать службу.
В OpenVZ ограничены таблицы для fail2ban
Ограничение на уровне 256 iP-адресов. Что критично мало против армии ботов. Подробнее читаем статью
Настраиваем fail2ban под свои задачи
Резюме: систему виртуализации OpenVZ можно использовать только для самых простых, не нагруженных и не критичных проектов. В остальных случаях лучше использовать KVM.
Операционная система (Linux, Windows)
Тут проще. Исторически сложилось, что большинство серверов работает на Linux. Зато у Windows есть GUI (он же интерфейс пользователя — графическая оболочка), к рабочему столу можно подключиться через RDP и пользоваться как обычным ПК.
Число ядер процессора.
А зачем нам вообще нужен процессор для сайта? Современный сайты сделаны с помощью CMS — т.е. необходимо из написанного кода (обычно на PHP) собрать страницу с тегами html и отдать её браузеру для показа.
Если у Вас простой информационный сайт и используется кэширование — то вполне хватит одного ядра. Большая часть страниц Вашего сайта будет один раз собрана и будет потом загружаться из кэша.
Если у Вас интернет-магазин — то как правило, все посетители будут получать свою версию страницы («Вы смотрели…» — вот это всё ) = и для каждого посетителя страницы будут собираться заново. Тут чем больше ядер процессора — тем лучше.
Диск (SAS, SSD, NVMe)
- SAS — тут имеется ввиду серверный HDD, только с протоколом SAS вместо десктопного SATA
- SSD — твердотельный диск через SATA (через SAS они тоже есть, но их мало выпустили, появился следующий стандарт NVMe)
- NVMe — твердотельный диск через PCIe — самый быстрый
В современном сайте есть много мелких файлов (картинки, скрипты JS, таблицы CSS), которые необходимо прочитать с диска и отдать пользователю.
Читаем статью
Что выбрать HDD или SSD у хостера?
Т.е. чем быстрее диск — тем быстрее запускается сайт. Для конечного пользователя не очень критично. Но очень критично для владельца сайта. Сайт, который работает медленно — никогда не попадет в ТОП выдачи поисковых систем.
Интересный лайфхак. Если Вы делаете проект на своем железном сервере — мы можете создать виртуальный диск в оперативной памяти и все файлы сайта поместить на него (включая базу MySql). Это будет быстрее на порядок любого физического диска.
Оперативная память RAM
И вот тут самое сложное.
Если проект малонагруженный и мало посетителей — вполне хватит 1Gb (на весь VPS, 400 Мб на нужды ОС и 100-200 Мб для работы сайта). А вот когда посетителей много….
Что значит много визитов на сайт? Тут проблема не в быстродействии системы. Много — это значит, что в отдельные моменты времени часть посетителей хотят смотреть сайт ОДНОВРЕМЕННО.
А вебсервер Apache в базовой установке = он однопоточный. Т.е. второй посетитель в этот же момент времени сайт не получит, а получит ошибку сервера 500…. Пока Apache не закончит обработку первого визитера.
Да, у Apache есть модуль, который умеет работать в многопоточном режиме — FastCGI. После включения этого режима начинается «дискотека». Под запрос каждого посетителя необходимо выделить оперативную память. В среднем для сайта с 300 посетителями в день — на уровне 1 Gb на сайт.
ВАЖНО: желательно не использовать выбор OpenVZ в комплекте с FastCGI Apache. Пришло много визитеров одновременно, каждому выделили память, память вся закончилась = OpenVZ выключил работу MySql (т.к. свопа на диск там нет) и сайт упал. Ай…
Трафик и ширина канала
Обычно тщательно скрыто внутри тарифа. Для проекта начального уровня вполне хватит 1 Тб на месяц. Собственно, обычно в большинстве тарифов так и есть.
Но надо смотреть подробности.
Ширина канала может быть и 30 Мб/с и 100 Мбит/с и 500 Мбит/с.
Трафик — он как бы безлимитный до 1Тб. А с превышением что? Дополнительная оплата со счета или снижения скорости канала?
Перед принятием решения о выборе тарифа всё это надо анализировать.
Число воркеров для FastCGI (Apache)
Что это еще за параметр? Практически нигде не указывается, но критичен для нагруженных проектов.
Фактически это число одновременно (внутри десятков миллисекунд) одновременно обрабатываемых посетителей сайта.
Сам Apache — он может обрабатывать одного пользователя. Есть специальный модуль FastCGI для многопользовательного режима.
Число воркеров — это число одновременно обрабатываемых процессов, фактически количество пользователей, которые могут одновременно зайти на сайт.
У хороших хостеров это на уровне 10 по умолчанию, причем владелец сайта может этот параметр менять (и для VPS в том числе).
Защита от DDOS
DDOS (Distributed Denial of Service) — отказ в обслуживании.
Обычно это не враги (против врагов технологии защиты другого уровня) — а юные хакеры-школьники. В попытках через URL-адрес что-либо подобрать сервер атакующего может отправить 500-1000 запросов за одну минуту.
И Ваш сайт занимается обработкой 404 ошибок вместо того, что бы показать сайт живым посетителям.
Читаем статью
Обработка Error 404 в WordPress
Поэтому должна быть предусмотрено ограничение запросов от одного IP в единицу времени
Два параметра:
- число запросов с одного IP адреса (норма — 50)
- обработка всплеска (обычно 200) — браузер при загрузке страницы генерирует много запросов
Особенно хорошо помогает, если на Вашем сервере несколько сайтов. С ограничением числа запросов на сайт — атакующий блокируется, сервер легко «дышит» и остальные сайты нормально открываются.
Панель управления сервером
ВАЖНО: для ценителей Linux необязательна.
Хорошая панель управления (она же GUI) должна давать возможность (помимо стандартных функций):
- сканер-антивирус (для проверки файлов на сервере и базы MySql)
- возможность создания аккаунтов sFTP
Читаем статью
Панель управления веб сервером
Можно взять в аренду только сервер (виртуализация KVM — VDS):
- вообще без операционной системы
- без каких-либо панелей управления
И он будет сильно дешевле остальных предложений. Да — сервер виртуальный и фактически «нарисован» в памяти реального железного сервера — но с ним можно работать, как с настоящей машиной.
Устанавливаем:
- операционную систему Linux (возможно установить кликом при покупке-аренде)
- сервер Nginx
- сервер PHP (или например Python для любителей создавать сайты на Питоне)
- Apache или PHP-FPM
- настроить интеграцию с Let’s Encrypt (бесплатные сертификаты SSL)
- еще много разного и полезного
- настраиваем все конфигурационные файлы
И сервер начинает отдавать контент через HTTP / HTTPS. Управление, конечно, «ручками» — через командную строку SSH.
Но можно поставить панель управления. Есть как платные, так и бесплатные варианты. Тогда можно будет мышкой клац-клац :)
Для установки WordPress панель особо не нужна — после настройки сервера и «создания сайта» — достаточно залить в корневую папку архив WP и обратиться по адресу домена. Стартует index.php — и всё установится :)
До установки WP, конечно, нужно создать базу данных (пустую):
- название
- логин
- пароль
Подпишитесь в VKontakte - нажмите кнопку | ||
Подпишитесь в Telegram - нажмите кнопку | ||
Наша группа ODNOKLASSNIKI |
Вы можете сохранить ссылку на эту страницу себе на компьютер в виде htm файла
Запрос на размещение Вашего рекламного поста (тема и email будут добавлены автоматически в письмо)
В Вашем браузере должна быть настроена обработка ссылок mailto
site_post@bk.ru
или просто скопируйте адрес e-mail
Почитать в разделе
Хостинг VPS/VDS

(Читать полностью...)
- Всего статей в разделе: 9
- Показано статей в списке: 8
- Сортировка: название по алфавиту
Использование FTP и SFTP

(Читать полностью...)
Панель управления веб сервером

(Читать полностью...)
Порты вебсервера и их основная защита

(Читать полностью...)
Права доступа к файлу на сервере

(Читать полностью...)
Программы для передачи файлов на удаленный сервер

(Читать полностью...)
Управление сервером VPS через SSH (программа PuTTY)

(Читать полностью...)
Файл PHP.INI
Файл php.ini крайне важен для обработки сервером PHP Ваших скриптов (или скриптов CMS) Как его найти? Проблема в том, что: файлов php.ini может быть несколько для разных версий PHP они могут находиться в разных местах для разных серверов места расположения файлов тоже будут разными для разных способов управления PHP (Apache или варианты CGI) - файл php.ini тоже может запущен из разных мест константы в файле php.ini имеют значение по умолчанию (т.е. когда они явно не указаны) Всё это вместе может приводить к достаточно необычному поведению Вашего проекта при переключении версий PHP или способов запуска. Т.е. меняются не только команды PHP (немного разные для разных...(Читать полностью...)
Чем отличается сервер VPS от VDS

(Читать полностью...)