Свой сайт на одноплатнике: реально ли это в 2026 году

Практическое руководство по запуску собственного сайта на одноплатниках Orange Pi, Raspberry Pi и Rock Pi: выбор ОС, Nginx, PHP-FPM, MariaDB, HTTPS через Certbot и Nginx Proxy Manager, публикация в интернет и типичные ошибки.
Короткий ответ — да, реально, и не только в качестве эксперимента. Длинный ответ занимает всю статью ниже: разберём, какие платы подойдут, какую ОС выбрать, что поставить из софта, как настроить веб-сервер, базу данных, HTTPS и обратный прокси. И где заканчивается «хобби-сервер в шкафу» и начинается «нагрузка, которую одноплатник не вытянет».
Сразу оговорюсь: я не буду рассказывать про «я поднял свой блог на Orange Pi и он держит 10 000 посетителей в сутки». Такие цифры зависят от конкретного железа, диска, кэша, типа контента и кучи других переменных. Вместо этого дам рабочую схему, которую можно повторить и проверить самостоятельно.
Что вообще значит «свой сайт» на одноплатнике
Прежде чем хвататься за паяльник и карту памяти, определимся с типом сайта. От этого зависит всё остальное.
Статика — HTML, CSS, JS, картинки. Отдаётся Nginx или Caddy напрямую с диска. Одноплатник уровня Orange Pi Zero 3 или Raspberry Pi 4 справляется с этим без напряжения, особенно если включить кэширование и gzip/brotli.
Динамика на лёгком стеке — WordPress, Ghost, Hugo с серверной частью, Wiki.js, Gitea Pages. Тут уже нужны PHP-FPM или Node.js, база данных, кэш. Raspberry Pi 4 с 4 ГБ ОЗУ и SSD — комфортно. Orange Pi Zero 3 с 1–2 ГБ — уже с оговорками.
Тяжёлые CMS и магазины — WooCommerce, Bitrix, крупные форумы. На одноплатнике это работает, но с оговорками: медленный отклик под нагрузкой, ограничения по памяти, риск уронить сервис при пиковой посещаемости.
Публичный сайт с реальным трафиком — тут важно понимать: одноплатник за домашним интернетом с динамическим IP — это не про «заменить хостинг». Это про «держать небольшой проект, pet-страницу, вики команды, тестовый стенд».
Какие платы подойдут
Не буду делать вид, что все одноплатники одинаковы. Разница в производительности и стабильности между ними огромная.
Raspberry Pi 4 (4/8 ГБ) и Raspberry Pi 5 — самый предсказуемый вариант. Огромное сообщество, стабильные образы Raspberry Pi OS, нормальная документация. Pi 5 с NVMe через HAT — вообще отличный вариант для веб-сервера.
Orange Pi 3B, Orange Pi 5B — доступнее по цене, eMMC на некоторых моделях сильно выручает. Подробнее про 5B с eMMC есть отдельный материал: Orange Pi 5B со встроенным eMMC: настройка и оптимизация для DIY-проектов.
Rock Pi 4B, Rock 3A — хорошая альтернатива, особенно если нужен именно серверный сценарий. Про установку системы без монитора: ROCK Pi 4B: установка Armbian и подключение по SSH без монитора.
Orange Pi Zero 3 — бюджетно, но 1 ГБ ОЗУ — это потолок для лёгкой статики и маленьких сервисов. Для полноценного сайта с БД лучше брать версию с 2–4 ГБ.
Что критично для веб-сервера: - ОЗУ: минимум 2 ГБ, комфортно — 4 ГБ и выше. - Накопитель: SSD или eMMC. SD-карта умрёт от постоянной записи логов и БД. Про это есть отдельная статья: Продлеваем жизнь SD-карте в Raspberry Pi: полное руководство по выживанию. - Сеть: гигабитный Ethernet. Wi-Fi для сервера — плохая идея. - Охлаждение: под нагрузкой плата греется, троттлинг убивает отклик. Про это: Охлаждение одноплатников: от пассивного радиатора до активного обдува.
Выбор операционной системы
Тут три основных пути.
Raspberry Pi OS / Armbian
Классика. Raspberry Pi OS — для «малинок», Armbian — для всего остального зоопарка (Orange Pi, Rock Pi, Banana Pi, NanoPi). Стабильно, много пакетов, привычный apt.
Ubuntu Server для ARM64
Хорошо, если нужны свежие версии пакетов и вы привыкли к Ubuntu. Для ARM64-плат есть официальные сборки, но не для всех.
DietPi
Минималистичная ОС, заточенная под серверные сценарии. Меньше фоновых сервисов, меньше потребление памяти. Отличный выбор для слабых плат. Подробнее: DietPi на одноплатниках: минималистичная ОС для вашего домашнего сервера.
Что выбрать
- Raspberry Pi 4/5 → Raspberry Pi OS Lite (64-bit).
- Orange Pi, Rock Pi, NanoPi → Armbian.
- Слабые платы (1 ГБ ОЗУ) → DietPi.
- Если хочется свежий софт и вы готовы разбираться → Ubuntu Server ARM64.
Ставьте Lite-версию без графики. Рабочий стол на сервере — это лишние 300–500 МБ ОЗУ и куча фоновых процессов.
Базовый набор софта
Что реально нужно поставить на одноплатник, чтобы он стал веб-сервером:
- Nginx или Caddy — веб-сервер.
- PHP-FPM — если сайт на PHP (WordPress, Nextcloud, Wiki.js).
- MariaDB или PostgreSQL — база данных.
- Node.js — если сайт на Node (Ghost, Express, статические генераторы с серверным рендером).
- Redis — кэш и сессии, если CMS умеет с ним работать.
- Certbot — автоматические Let's Encrypt сертификаты.
- Docker + Docker Compose — если хочется изоляции и простого развёртывания. Про это: Docker на Raspberry Pi: Запускаем контейнеры на ARM64.
- Nginx Proxy Manager — веб-морда для управления прокси и сертификатами.
- Portainer — визуальное управление контейнерами: Portainer: Визуальное управление Docker-контейнерами для вашего домашнего сервера.
Установка Nginx и базовый конфиг
Начнём с самого простого — статического сайта.
sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx
Проверяем, что сервер отвечает:
curl -I http://localhost
Должны увидеть HTTP/1.1 200 OK и заголовок Server: nginx.
Кладём файлы сайта в /var/www/mysite:
sudo mkdir -p /var/www/mysite
sudo chown -R $USER:$USER /var/www/mysite
Конфиг виртуального хоста:
server {
listen 80;
server_name example.local;
root /var/www/mysite;
index index.html;
access_log /var/log/nginx/mysite.access.log;
error_log /var/log/nginx/mysite.error.log;
location / {
try_files $uri $uri/ =404;
}
location ~* .(jpg|jpeg|png|gif|css|js|svg|woff2)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
}
Активируем и перезагружаем:
sudo ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Типичная ошибка: забыть nginx -t перед reload. Если в конфиге опечатка, reload упадёт, а старый конфиг продолжит работать — и вы будете думать, что «ничего не поменялось».
PHP-FPM и база данных
Для WordPress, Nextcloud и прочих PHP-приложений:
sudo apt install -y php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip mariadb-server
sudo systemctl enable --now php8.2-fpm mariadb
Создаём базу и пользователя:
CREATE DATABASE mysite CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'mysite'@'localhost' IDENTIFIED BY 'надёжный_пароль';
GRANT ALL PRIVILEGES ON mysite.* TO 'mysite'@'localhost';
FLUSH PRIVILEGES;
Блок в конфиге Nginx для PHP:
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
Проверка: создайте info.php с <?php phpinfo(); ?>, откройте в браузере, убедитесь, что PHP отвечает, и сразу удалите файл. Открытый phpinfo — классическая дыра.
HTTPS через Let's Encrypt
Без HTTPS публичный сайт в 2026 году — это не вариант. Certbot справляется за пару минут:
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
Certbot сам поправит конфиг Nginx и настроит автообновление через systemd-таймер. Проверить:
sudo systemctl list-timers | grep certbot
Важно: Let's Encrypt требует, чтобы домен резолвился в ваш публичный IP и порт 80 был доступен снаружи. Если сайт живёт за домашним роутером, придётся пробросить порты и настроить DDNS.
Nginx Proxy Manager — вариант для тех, кто не любит руками
Если возиться с конфигами Nginx и Certbot вручную не хочется, есть Nginx Proxy Manager (NPM) — веб-интерфейс, который управляет проксированием и сертификатами через GUI. Ставится в Docker, работает на ARM64.
services:
npm:
image: jc21/nginx-proxy-manager:latest
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "81:81"
volumes:
- ./dаta:/data
- ./letsencrypt:/etc/letsencrypt
Запуск:
docker compose up -d
Дальше открываете http://ip-платы:81, логинитесь дефолтными кредами (admin@example.com / changeme — смените сразу), добавляете Proxy Host, указываете домен, целевой сервис (например, http://wordpress:80 внутри docker-сети), включаете SSL и Let's Encrypt.
Подробный разбор установки и первичной настройки: Nginx Proxy Manager: установка и первоначальная настройка reverse proxy с HTTPS в Docker. Есть и альтернативный материал с акцентом на умный дом: Nginx Proxy Manager: красивый reverse proxy с веб-интерфейсом для вашего умного дома.
Когда NPM реально удобен: когда у вас несколько сервисов на одной плате (сайт, Home Assistant, Gitea, Nextcloud) и вы хотите разруливать их по поддоменам без ручного копирования конфигов.
Когда NPM не нужен: если сайт один и вы нормально читаете конфиги Nginx. Лишний контейнер на слабой плате — лишние 100–200 МБ ОЗУ.
Публикация в интернет: что нужно учесть
Тут начинается самое интересное и самое проблемное.
Динамический IP и DDNS
Домашний интернет обычно даёт динамический IP. Решения: - DDNS-сервисы (DuckDNS, No-IP, Cloudflare DDNS). - Скрипт, который раз в N минут обновляет A-запись в DNS-провайдере.
Проброс портов
На роутере нужно пробросить 80 и 443 на локальный IP одноплатника. Если провайдер использует CGNAT — публичного IPv4 у вас нет, и проброс не сработает. Варианты: IPv6 (если провайдер даёт), туннель через VPS, Cloudflare Tunnel.
ТСПУ и блокировки
Если сайт хостится в РФ и обслуживает российскую аудиторию, стоит учитывать, что доступность может страдать от фильтрации на ТСПУ. Проверить, доступен ли ваш домен или IP из сети, находящейся в зоне действия ТСПУ, можно через сервис: Сервис проверки сайта или IP на блокировку ТСПУ РКН. Он прогоняет DNS, TCP, TLS и HTTPS и показывает, на каком этапе ломается соединение.
Безопасность
Минимум, который нужно сделать:
- Отключить вход по паролю для SSH, оставить только ключи.
- Настроить ufw или nftables.
- Регулярно обновлять пакеты (unattended-upgrades).
- Не выставлять наружу MariaDB, Redis, phpMyAdmin.
- Настроить fail2ban для SSH и Nginx.
sudo apt install -y ufw fail2ban
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
Производительность: чего ожидать
Не буду выдумывать бенчмарки. Скажу общие принципы:
- Статика на Raspberry Pi 4/5 и Orange Pi 5 отдаётся быстро, узкое место — сеть и диск.
- WordPress на Pi 4 с SSD и Redis-кэшем работает приемлемо для небольшого блога. Без кэша — медленно.
- База данных на SD-карте — боль. На SSD или eMMC — нормально.
- Одновременные посетители: десятки — легко, сотни — с кэшем и оптимизацией, тысячи — уже не тот класс железа.
Если сайт начинает упираться, первым делом смотрите:
- htop — где ест CPU и память.
- iostat — не упирается ли в диск.
- Логи Nginx — сколько времени реально занимает обработка запроса.
- Кэш: Nginx FastCGI Cache, Redis, OPcache для PHP.
Резервное копирование — не опция, а обязанность
Одноплатник с SD-картой — это устройство, которое однажды не включится. Бэкапить нужно:
- Базу данных (mysqldump по cron).
- Файлы сайта (rsync на внешний диск или в облако).
- Конфиги Nginx, PHP, systemd-юниты.
Про организацию бэкапов на Raspberry Pi: Резервное копирование Raspberry Pi: как не потерять данные и сон.
Итог: стоит ли оно того
Запустить сайт на одноплатнике — реально. Это отличный способ: - Разобраться в Linux, Nginx, DNS, TLS и сетях. - Держать pet-проект, вики, блог без ежемесячной оплаты хостинга. - Использовать железо, которое иначе пылилось бы в ящике.
Но есть и трезвые ограничения: - Домашний интернет — не ЦОД. Отключения света, падения провайдера, CGNAT. - Одноплатник — не сервер. Троттлинг, ограниченная память, риск смерти SD-карты. - Безопасность — целиком на вас. Никто не прикроет, если что-то пойдёт не так.
Если сайт — это хобби, эксперимент или небольшой проект для узкой аудитории — вперёд. Если это бизнес с реальной аудиторией — одноплатник может быть тестовым стендом, но не продакшеном.
Начните с малого: поставьте Nginx, положите статическую страницу, настройте HTTPS. Дальше — по мере интереса — добавляйте PHP, базу, Nginx Proxy Manager, Docker. Каждый шаг проверяйте и не бойтесь ломать: с бэкапом и снапшотом системы это безопасно.
Понравилась статья?
Поставьте лайк и сохраните полезный материал в закладки.
Как скачать программу с GitHub в Linux через терминал: git clone, wget и curl
LattePanda Mu Ultra: x86-модуль с Intel Core Ultra и 115 TOPS размером с банковскую карту
3x-ui для администратора: защита панели и резервные копии
Remnawave: архитектура панели, ноды и безопасная эксплуатация
Proxmox Backup Server: настройка бэкапа и восстановление VM