Главная страница » Linux и серверы » Свой сайт на одноплатнике: реально ли это в 2026 году
Свой сайт на одноплатнике: реально ли это в 2026 году
Linux и серверы

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

10.09.2026 27
Свой сайт на одноплатнике: реально ли это в 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 и базовый конфиг

Начнём с самого простого — статического сайта.

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. Каждый шаг проверяйте и не бойтесь ломать: с бэкапом и снапшотом системы это безопасно.

Понравилась статья?

Поставьте лайк и сохраните полезный материал в закладки.

Комментарии (0)
Добавить комментарий
Прокомментировать
Кликните на изображение чтобы обновить код, если он неразборчив
Как скачать программу с GitHub в Linux через терминал: git clone, wget и curl
Linux и серверы
09.09.2026
Как скачать программу с GitHub в Linux через терминал: git clone, wget и curl
Разбираемся, как скачать программу, файл или целый репозиторий с GitHub через терминал Linux. Примеры с git clone wget curl архивами и готовыми бинарниками.
LattePanda Mu Ultra: x86-модуль с Intel Core Ultra и 115 TOPS размером с банковскую карту
Linux и серверы
10.09.2026
LattePanda Mu Ultra: x86-модуль с Intel Core Ultra и 115 TOPS размером с банковскую карту
LattePanda Mu Ultra — компактный x86-модуль на Intel Core Ultra 200V с графикой Intel Arc, 16 ГБ LPDDR5X и NPU. Разбираемся в характеристиках, Linux, локальном AI,
3x-ui для администратора: защита панели и резервные копии
Linux и серверы
13.09.2026
3x-ui для администратора: защита панели и резервные копии
Архитектура 3x-ui и практическая защита панели: HTTPS, reverse proxy, firewall, обновления, журналы, SQLite и проверенные резервные копии.
Remnawave: архитектура панели, ноды и безопасная эксплуатация
Linux и серверы
13.09.2026
Remnawave: архитектура панели, ноды и безопасная эксплуатация
Как устроены Remnawave Panel и Node: Docker Compose, PostgreSQL, reverse proxy, секреты, подключение нод, обновления и восстановление.
Proxmox Backup Server: настройка бэкапа и восстановление VM
Linux и серверы
13.09.2026
Proxmox Backup Server: настройка бэкапа и восстановление VM
Зелёный статус задания ещё не доказывает, что сервер можно восстановить. Настроим PBS и пройдём весь путь до запуска копии VM в изолированной сети.

Войдите в аккаунт, чтобы пользоваться закладками, сообщениями и другими возможностями сайта.