Чек лист: Как настроить виртуальный сервер VPS/VDS
Чек-лист, инструкция, напоминалка и просто необходимая вещь по настройке виртуального сервера с нуля. Не важно какие разновидности операционных систем Unix ты настраиваешь Debian, CentOS, Ubuntu, FreeBSD или RouterOS CHR основные этапы одинаковые - это настройка безопасности, удаленного управления, стандартные сервисы LAMP и так далее.
Начнем с терминов
Виртуальные сервера VPS (Virtual Private Server) и VDS (Virtual Dedicated Server) это одно и то же - это синонимы. Если какой-либо хостинг предлагает вам VPS и VDS как разные услуги - это должно вас насторожить, что-то тут не так.
Список хостинг провайдеров с которыми я работаю оформлен в виде рейтинга хостингов. Нужна будет консультация по хостингу - пишите мне.
Шаг 1.1 - Можно ли корректно оценить процессор до покупки выделенного сервера/VPS
Эту инструкцию я просто скопировал у самого адекватного (как по цене, так и уровню техподдержки) украинского хостинг провайдера СХОСТ.
При выборе выделенного сервера и VPS/VDS очень важно обратить внимание на процессор. Не все знают, что большие показатели CPU и количества ядер не всегда гарантируют большую мощность. В частности, более современный процессор 1.6 ГГц может ощутимо превосходить процессор 4 ГГц.
Существует проверенный способ оценить реальную мощность практически любого процессора до покупки выделенного сервера/ВПС:
- Перейдите на сайт PassMark.
- Выберите процессоры, которые нужно сравнить.
- Изучите сравнительную таблицу.
Рассмотрим, как работает сервис на примере. Мы сравнили два процессора – Intel Xeon X5675 @ 3.07GHz (процессор А) и Intel Xeon E5-2680 v2 @ 2.80GHz (процессор В).
При том что мощность (поле Clockspeed) процессора А равна 3.1 ГГц, а мощность процессора В – 2.8 ГГц, рейтинг одного ядра (поле Single Thread Rating) процессора В составляет 1826, а процессора А – лишь 1392. Что касается суммарного рейтинга (поле CPU Mark), то и здесь процессор В показал лучшие результаты: 15904 против 8124.
Вывод: у процессора 2.8 ГГц каждое ядро почти на 50% мощнее, чем у процессора 3.1 ГГц. Следовательно, так как ядер больше, процессор В почти в два раза сильнее, чем процессор В.
- Если на вашем выделенном сервере два процессора, все цифры в таблице нужно умножить на два.
- Владельцам ВПС необходимо умножить данные из поля Single thread rating на количество ядер на виртуальном выделенном сервере.
Шаг 1.2 - Проверьте IP сервера на блокировку и CPAM
Вы также можете проверить не только ip, но и домен вашего сайта на нахождение в спам-базах.
Не надо спешить что либо настраивать, первым делом убедитесь что хостер выдал вам незаблокированный IP. Вы понимаете, что если ваш IP проблемный, то никаких почтовых серверов вы установить не сможете или продвинуть ваш сайт по SEO или получите "Обход системы" в Google реклама.
IP адрес может попасть в "черные: списки по разным причинам, но в основном через жалобы пользователей, например, на спам рассылку. Если ваш IP засветился в одном из таких списков, то скорее всего в дальнейшем все отправленные вами письма будут отправляться в спам папки и не будут доставлены.
Ниже привожу сервисы, которыми пользуюсь я. Если кто-то знает аналогичные сервисы напишите мне на почту - я добавлю.
- Проверить какой стране принадлежит ваш IP RIPE Database
- Роскомнадзор - универсальный сервис проверки ограничения доступа к сайтам и (или) страницам сайтов сети «Интернет».
- Наличие IP в СПАМ базах mxtoolbox проверка в Spam базах
- Многие провайдеры автоматически блокируют доступ с IP указанных в базе Reputation Checker - Spamhaus, чтобы проверить свой ip на наличие в этих базах используйте сервис. Сюда попадают всегда за что-то. Если ваш IP добавлен в Spamhaus, то письмо на Mail.ru, Yandex, Google, Microsoft, Yahoo не будут доставлены. Социальная сеть LinkedIn не разрешит переходы по ссылке на ваш домен. Исключить свой адрес из Spamhaus можно, для этого нужно написать в их техническую поддержку и подтвердить права на домен и ip.
- SORBS. Удалить свой адрес с данного списка просто, но и просто попасть в данный список. Хотя много компаний не обращают внимание на данный блэклист.
- Сервис Proofpoint использует Apple. Ваш IP попал в данный список? Это обозначает, что письма не будут доставляться на @icloud.com и @me.com.
- В список URIBL лучше не попадать, из него трудно выбраться, особенно, если это не первое попадание.
Шаг 1.3 - Измерить скорость загрузки и передачи Интернет-соединения
Не помещает, сразу после покупки VPS замерить скорость интернета, которую вам предоставил хостинг провайдер. Скорость можно замерить разными способами, например утилитой iperf, но самым простым способом будет использование приложения Speedtest CLI.
Speedtest CLI позволяет использовать глобальную серверную сеть Speedtest с помощью командной строки. Speedtest CLI позволяет измерять такие показатели интернет-соединения, как скорость загрузки и передачи, потеря пакетов и задержка, без использования веб-браузера.
Установка утилита speedtest в Debian/Ubuntu (скачать установочные скрипты):
curl -s https://install.speedtest.net/app/cli/install.deb.sh | bash apt install speedtest-cli
Установка утилита speedtest в Centos:
curl -s https://install.speedtest.net/app/cli/install.rpm.sh | sudo bash yum install speedtest
Запускаем без всяких параметров, обычно этого достаточно. В более новых версиях лучше использовать дополнительный ключ, auto-binary-bytes который будет показывать скорость в kiB/s, MiB/s, GiB/s.
speedtest -u auto-binary-bytes
# speedtest Retrieving speedtest.net configuration... Testing from JSC IOT (212.109.219.242)... Retrieving speedtest.net server list... Selecting best server based on ping... Hosted by INETCOM LLC (Moscow) [1.61 km]: 2.945 ms Testing download speed.............. Download: 97.56 Mbit/s Testing upload speed................ Upload: 109.68 Mbit/s
Как видим мой VPS сервер подключен в 100 Mbit/s порт. Если это соответствует заявленной хостером, вам при покупке виртуального сервера, скорости - значит все ОК.
К слову, чтобы увидеть ближайшие сервера Speedtest введите команду:
# speedtest --list Closest servers: ID Name Location Country ============================================================================== 22774 DediPath Secaucus, NJ United States 982 Interserver, inc Secaucus, NJ United States 22069 TeleBermuda International Limited New York, NY United States
Читайте также: Что такое тест скорости Интернета? Единицы измерения скорости интернета
Шаг 1.4 - Измерить производительность VPS (bench)
Проведите простые тесты производительности новокупленного VPS, например:
wget -qO- bench.sh | bash curl -Lso- bench.sh | bash
На выходе вы получите информацию о конфигурации сервера, I/O, скорости загрузки данных из разных точек мира:
Для проверки скорости диска как виртуального, так и физического сервера можно использовать утилиту dd. dd позволяет измерить общую скорость чтения или записи, но не предоставляет детализированной информации о IOPS, времени отклика или других важных метриках производительности в отличии от специализированной утилиты Утилита Linux fio: Применение и Тестирование Скорости Работы Диска. Использование dd для проверки скорости диска может быть оправдано в ситуациях, когда требуется быстрый и простой тест без необходимости в детальном анализе производительности. Однако для более глубокого и всестороннего тестирования, особенно в профессиональных и коммерческих средах, предпочтительнее использовать fio из-за её расширенных возможностей и точности измерений.
Средняя скорость дисковой подсистемы на виртуальных серверах колеблется от 100 Мб/с до 450 Мб/с.
Многие хостинг-провайдеры лгут нам, установив обычный диск SATA с кэшированием или SAS вместо SSD. Можно проверить наличие и скорость SSD, выполнив простой тест:
dd if=/dev/zero of=sb-io-test bs=1M count=1k conv=fdatasync; rm -rf sb-io-test 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.01973 s, 532 MB/s
Это команда создает файл sb-io-test, в который записывает данные, а затем удаляет его. Это покажет вам скорость доступа к диску. Если вы найдете число ниже 150 МБ/с, убедитесь в технической поддержке, что это не SSD накопитель. Если значение ниже 50 МБ/с — это явно проблема с диском SATA.
Шаг 2 - Первоначальная настройка сервера VPS/VDS
Обычно я использую на серверах Debian или Ubuntu, поэтому команды будут приводиться для этих систем. Для остальных ОС буду приводить ссылки, если есть различия.
На начальном этапе у нас есть свежеустановленная операционная система на VPS/VDS и доступ по SSH. Логинимся на сервер под пользователем root.
1) Обновление операционной системы. Для Debian, Ubuntu рекомендую использовать встроенные менеджер пакетов APT, альтернатива Aptitude, dpkg.
# apt update # apt list --upgradable # apt upgrade
Добавим системные утилиты, которые всегда нужны, такие как: dig, nslookup, host, netstat:
# apt install lsb-release htop net-tools dnsutils
Команды также недоступны в минимальной установке RHEL 8, 7 и ее клонов, таких как CentOS 8 и 7, установим их:
yum install net-tools bind-utils dnf install net-tools bind-utils
2) Настройка переменных локализации в Linux удаление локалей и локализаций, проверка языка консоли вашего VDS.
3) Настройка времени и часового пояса при помощи tzdata.
4) Имя сервера проверьте командой hostname с ключом f. Вы должны увидеть имя в формате FQDN (без точки в конце), например
# hostname -f howchoosevps.cloud Или # hostnamectl Static hostname: howchoosevps.cloud Icon name: computer-vm Chassis: vm Machine ID: f8f82b20c1c04aed4783cde385c5bff8 Boot ID: 3eb7123cd22647ee845196a258dab6ce Virtualization: kvm Operating System: Ubuntu 22.04 LTS Kernel: Linux 5.15.0-27-generic Architecture: x86-64 Hardware Vendor: Red Hat Hardware Model: KVM Изменить имя сервера sudo hostnamectl set-hostname mydomain
Если вы хотите установить почтовый сервер также проверьте обратную запись DNS. В самом простом случае достаточно чтобы ваш VPS был доступен по доменному имени.
5) Настройка SSH доступа, для повышения безопасности и удобства использования вашего сервера - дадут вам прочную основу для последующих действий.
6) Настройка брандмауэра (firewall, файрвол) в разных дистрибутивах отличается или же используются разные программные надстройки на ними:
- Для тех кто использует ufw
- Для тех кто предпочитает чистый Руководство по iptables: Настройка и оптимизация фаервола Linux
- Для FreeBSD штатный firewall ipfw, или Packet Filter Firewall (PF) межсетевой экран FreeBSD
Шаг 3 - Настройка сервера VPS/VDS (опционально)
- fail2ban для защита SSH
- Обзор и выбор панели управления сервером (хостингом). Помните! Панели зачастую устанавливаются на чистый сервер, а уже после установки панели делаются остальные действия по настройке сервера.
- Руководство по использованию команды ulimit в Linux: Настройка ограничений системных ресурсов. Можно сразу изменить настройки ядра, как минимум для пользователей от которых запускается Asterisk, Nginx, Apache:
# nano /etc/security/limits.conf ... www-data soft nofile 65535 www-data hard nofile 65535 asterisk soft nofile 65535 asterisk hard nofile 65535 ...
Утилиты, программы для администрирования серверов VPS/VDS
В администрировании серверов я использую дополнительные пакеты, часть из них может быть установлена (зависит от дистрибутива), часть нужно установить вручную. Мой список часто используемых программ и утилит:
Шаг 4 - Продакшн настройка сервера VPS/VDS или выделенного сервера (Dedicated sever)
В этом разделе речь идет о роли сервера.
Я советую использовать одна задача - один сервер. Например если у вас сервер выполняет роль маршрутизатора не надо туда лепить веб-сервер для хостинга ваших сайтов. Ни к чему хорошему попытки на одном сервер запустить Zabbix сервер, VPN сервер и хостинг сайтов не приведет.
Итак роли в которых может выступать ваши виртуальные VPS/VDS:
Роли для выделенного сервера (Dedicated sever), предварительно ознакомитесь со статьей Теория: что такое виртуализация:
Шаг 5 - Безопасность сайтов и VPS
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах