До основного вмісту
🖥

VDS / VPS

48 статей у розділі

VDS — це сервер, де замість панелі з кнопками ви отримуєте голу систему та права root: усе інше залежить від того, що ви налаштуєте самі. Розділ побудований як шлях від першого SSH-підключення до робочого продакшену — встановлення LEMP-стеку, віртуальні хости Nginx, сертифікати Let's Encrypt через Certbot, фаєрвол UFW і захист одразу після покупки.

Окремо розібрані речі, без яких сервер швидко перетворюється на проблему: автоматичне резервне копіювання баз, ротація логів, моніторинг через htop, Netdata та зв'язку Grafana з Prometheus, розбір типових аварій на кшталт заповненого диска чи процесу, вбитого OOM Killer. Є мережевий блок — IPv4 та IPv6, маски підмережі, маршрутизація через ip route і netplan, діагностика ping і tcpdump.

Для конкретних сервісів зібрані окремі інструкції: Docker і Docker Compose, PostgreSQL та Redis поруч із MySQL/MariaDB, Postfix для власної відправки пошти, HAProxy й Nginx як балансувальник навантаження.

  • SSH-hardening і Fail2Ban проти перебору паролів
  • Резервне копіювання і відновлення після збою
  • Моніторинг ресурсів і продуктивності сервера
  • Мережа: IPv4/IPv6, nftables, systemd і cron
Перше підключення до VDS через SSH Як підключитися до VDS сервера ZevsHost через SSH з Windows, macOS та Linux. Первинне налаштування безпеки. Встановлення LEMP стеку на VDS (Ubuntu) Встановлення Nginx, MySQL та PHP на VDS сервер Ubuntu від ZevsHost для хостингу веб-застосунків. Налаштування Nginx для веб-сайту на VDS Конфігурація Nginx для розміщення сайту на VDS ZevsHost: virtual hosts, gzip, кеш. Встановлення SSL на Nginx за допомогою Certbot Безкоштовний SSL Let's Encrypt на VDS з Nginx через Certbot. Автоматичне оновлення сертифіката. Моніторинг ресурсів VDS сервера Утиліти для моніторингу CPU, RAM і диска на VDS: htop, df, free, netstat. Як оновити операційну систему на VDS Безпечне оновлення Ubuntu/Debian на VDS сервері ZevsHost. Оновлення системних пакетів. Docker на VPS: встановлення та запуск контейнерів Покрокове встановлення Docker на VPS Ubuntu/Debian. Запуск першого контейнера, docker-compose, керування образами та томами. MySQL/MariaDB на VPS: встановлення, налаштування, безпека Встановлення MariaDB на Ubuntu VPS, створення баз даних і користувачів, налаштування віддаленого доступу та резервне копіювання. Node.js + PM2 на VPS: деплой застосунків Встановлення Node.js на VPS, деплой Express/Next.js застосунків, керування процесами через PM2, автозапуск і моніторинг. Налаштування SWAP на VPS Linux: розширення пам'яті Як додати SWAP-файл на Ubuntu VPS. Покращення стабільності сервера при піковому навантаженні. Налаштування swappiness та перевірка використання. Redis на VPS: встановлення і налаштування кешування Встановлення Redis на Ubuntu VPS, налаштування кешування для WordPress і Laravel, захист паролем, моніторинг споживання пам'яті. Моніторинг доступності VPS: налаштування алертів Як організувати моніторинг доступності VPS і сайту: безкоштовні UptimeRobot, Hetrix Tools, сповіщення в Telegram, email і SMS при падінні сервера. Резервне копіювання MySQL на VPS: автоматизація Автоматичне резервне копіювання MySQL/MariaDB на VPS. Скрипти для щоденних бекапів, зберігання в S3, шифрування та відновлення. PostgreSQL на VPS: встановлення, налаштування та оптимізація Встановлення PostgreSQL на Ubuntu VPS, створення баз даних і ролей, налаштування pg_hba.conf, віддалений доступ та базова оптимізація. Postfix на VPS: відправка email зі свого сервера Встановлення Postfix на Ubuntu VPS, налаштування SMTP relay, відправка через Gmail/SendGrid, SPF/DKIM для доставлюваності листів. Logrotate: автоматична ротація логів у Linux Налаштування logrotate для Nginx, Apache, MySQL і застосунків. Запобігання переповненню диска логами, стиснення та зберігання архівів. Моніторинг сайту: UptimeRobot, Zabbix і системні алерти Налаштування моніторингу uptime сайту та VPS: UptimeRobot (безкоштовно), алерти в Telegram, моніторинг ресурсів через htop і netdata. Wildcard SSL через Certbot: сертифікат для всіх субдоменів Отримати wildcard SSL-сертифікат Let's Encrypt через Certbot з DNS-валідацією. Покриває *.domain.com — усі субдомени одним сертифікатом. Що таке IPv4: адресація, маски підмережі і класи мереж IPv4 — основа сучасного інтернету. Розбираємо структуру IP-адрес, маски підмережі CIDR, приватні діапазони і чому IPv4-адреси закінчуються. IPv6 на VPS: налаштування, переваги та робота з адресами Налаштування IPv6 на VPS під Ubuntu/Debian: статична адреса через netplan, перевірка зв'язку, подвійний стек IPv4+IPv6 та робота з довгими адресами. Як змінити hostname на Linux: Ubuntu, Debian, CentOS Змінюємо hostname на Linux сервері командами hostnamectl, /etc/hostname і /etc/hosts. Чому важливий правильний hostname для пошти та SSL, як перевірити зміну. Docker Compose: запуск стеку застосунків Docker Compose: структура файлу, змінні середовища, мережі, томи, healthcheck. Приклад LEMP-стеку (Nginx+PHP+MySQL+Redis) в одному файлі. Оновлення Ubuntu Server: apt upgrade і do-release-upgrade Як оновити Ubuntu Server — пакети через apt і версію ОС через do-release-upgrade. Безпечний порядок оновлень, відкат і що робити, якщо upgrade завис. Оновлення Debian до нової версії: Bullseye → Bookworm Покрокове оновлення Debian 11 (Bullseye) до Debian 12 (Bookworm) через apt: що перевірити заздалегідь, конфлікти пакетів і відкат при проблемах. Міграція з CentOS 8 на Rocky Linux або AlmaLinux CentOS 8 досяг EOL у грудні 2021. Як мігрувати на Rocky Linux 8/9 або AlmaLinux 8/9 за допомогою офіційних скриптів міграції без перевстановлення сервера. Діагностика мережі Linux: ping, traceroute, ss, tcpdump Повний арсенал інструментів діагностики мережі Linux. Як використовувати ping, traceroute, mtr, netstat, ss, nmap і tcpdump для пошуку проблем на VPS. Netdata: моніторинг сервера в реальному часі Netdata: встановлення за 1 хвилину, веб-дашборд, моніторинг CPU/RAM/диска/мережі, сповіщення, інтеграція з Telegram і Slack, налаштування порогу. Маска підмережі CIDR: що таке /24, /16 і як рахувати CIDR-нотація /24, /16, /8 — як рахувати кількість хостів, діапазон адрес і маску підмережі. Практичні приклади для налаштування VPS, файерволів і VPN. Grafana + Prometheus: метрики та дашборди Моніторинг з Grafana і Prometheus: встановлення через Docker Compose, Node Exporter, імпорт дашбордів, сповіщення, PromQL запити для сервера. Оновлення ядра Linux: навіщо і як робити безпечно Як оновити ядро Linux на Ubuntu та Debian через apt, перевірити версію та відкотитися до попереднього ядра через GRUB, якщо нове спричинило проблеми. Nginx як балансувальник навантаження: налаштування Nginx балансувальник навантаження: алгоритми round-robin, least_conn, ip_hash, healthcheck, sticky sessions, налаштування upstream з прикладами. systemd: створення unit-файлу для автозапуску служби Як створити systemd unit-файл для автозапуску застосунку на Linux. Типи юнітів, директиви ExecStart, Restart, залежності та керування через systemctl. SSH Hardening: безпечне налаштування sshd_config на VPS Повний посібник з безпечного налаштування SSH: вимкнення root login, зміна порту, ключі замість паролів, Fail2Ban і двофакторна автентифікація. NAT: що таке трансляція мережевих адрес і як вона працює NAT (трансляція мережевих адрес) — механізм економії IPv4. Як працює SNAT, DNAT, Masquerade, налаштування NAT в iptables і коли NAT на VPS заважає роботі. Перші кроки після придбання VDS: базовий захист Перші кроки на новому VDS: зміна root-пароля, створення sudo-користувача, SSH-ключі, UFW, автооновлення безпеки, fail2ban. Повний чеклист. Налаштування маршрутизації Linux: ip route та netplan Керування мережевою маршрутизацією в Linux через ip route, ip addr і netplan. Як додати статичний маршрут, налаштувати два інтерфейси та дефолтний шлюз. Linux: профілювання продуктивності сервера Діагностика продуктивності Linux: top, htop, iostat, vmstat, sar, perf, strace. Як знайти процес, що з'їдає CPU і RAM. Інструменти моніторингу. Cron на Linux: налаштування планувальника завдань на VPS Як налаштувати cron на Linux для автоматизації завдань: синтаксис crontab, змінні оточення, логування, анатомія cron-запису та приклади для бекапів і скриптів. tmux і screen: сесії на сервері без обриву SSH tmux і screen зберігають сесію на сервері при обриві SSH: встановлення, команди і різниця між інструментами. Логи systemd: journalctl, rsyslog і ліміт розміру journalctl і rsyslog читають логи systemd та обмежують їхній розмір: команди, параметри journald.conf і налаштування ротації. nftables: сучасна заміна iptables у Linux nftables замінює iptables на сучасних дистрибутивах Linux: таблиці, ланцюги, базове налаштування файрвола і команди діагностики. LVM на сервері: розширення диска без простою Розширення диска через LVM на VDS без простою: pvresize, lvextend, resize2fs і xfs_growfs, перевірка групи томів і типові помилки. Точний час на сервері: chrony та синхронізація NTP Точний час на VDS через chrony: встановлення, джерела NTP, команди chronyc tracking і sources, типові проблеми синхронізації годинника. Диск заповнений на VDS: як знайти пожирача місця Диск заповнений на VDS — команди df, du, lsof і journalctl допоможуть знайти файли та логи, що з'їли місце, і безпечно очистити сервер. OOM Killer у Linux: за що вбито процес і як це зупинити OOM Killer у Linux завершує процеси при браку пам'яті — розбираємо, як знайти причину в journalctl, налаштувати oom_score_adj і додати swap. HAProxy на VDS: балансування навантаження й перевірки HAProxy на VDS розподіляє трафік між серверами — показуємо встановлення, health checks та алгоритми балансування roundrobin і leastconn. SFTP та vsftpd: безпечна передача файлів на VDS SFTP та vsftpd на VDS: як передавати файли шифрованим каналом, налаштувати chroot для SFTP-користувача і ввімкнути TLS у vsftpd.conf. cloud-init: автоналаштування VPS під час створення cloud-init автоматично налаштовує VPS під час створення — користувачі, SSH-ключі, пакети та команди через user-data без ручного входу на сервер.