Скачайте Raspberry Pi Imager с официального сайта.
Выберите ОС: Raspberry Pi OS Lite (без графического интерфейса для экономии ресурсов).
Запишите образ на microSD-карту, вставьте её в Raspberry Pi, подключите питание и Ethernet (или Wi-Fi).
1.2 Настройка сети и SSHПри первом запуске выполните базовую настройку через sudo raspi-config
:
sudo raspi-config
Измените пароль пользователя pi
(в разделе System Options → Password).
Настройте Wi-Fi (если используете) в System Options → Wireless LAN.
Включите SSH: Interfacing Options → SSH → Yes.
Обновите систему:
sudo apt update && sudo apt upgrade -y
Установите веб-сервер:
sudo apt install nginx -y
Проверьте статус службы:
sudo systemctl status nginx
Откройте порты 80 и 443 в брандмауэре (если включен ufw
):
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
Проверьте работу Nginx, открыв браузер и перейдя по IP вашего Raspberry (найти IP можно через hostname -I
).
Создайте папку для файлов сайта:
sudo mkdir -p /var/www/mysite/public_html
Назначьте права:
sudo chown -R www-data:www-data /var/www/mysite
sudo chmod -R 755 /var/www/mysite
3.2 Конфигурация Nginx
Создайте файл конфигурации:
sudo nano /etc/nginx/sites-available/mysite
Вставьте конфиг (замените your_domain.com
на свой домен):
server {
listen 80;
server_name your_domain.com www.your_domain.com;
root /var/www/mysite/public_html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Активируйте конфиг:
sudo ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/
Проверьте синтаксис и перезапустите Nginx:
sudo nginx -t
sudo systemctl reload nginx
Купите домен на любом регистраторе (например, GoDaddy, Namecheap). Настройте A-запись, указав IP вашего Raspberry Pi.
4.2 Установка Let's Encrypt (Certbot)Установите Certbot:
sudo apt install certbot python3-certbot-nginx -y
Получите сертификат:
sudo certbot --nginx -d your_domain.com -d www.your_domain.com
Certbot автоматически обновит конфиг Nginx для HTTPS.
4.3 Автоматическое продление сертификатаДобавьте задание в cron:
sudo crontab -e
Добавьте строку:
0 12 * * * /usr/bin/certbot renew --quiet
Добавьте в конфиг сайта (/etc/nginx/sites-available/mysite
) после index index.html;
:
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2|glb|gltf)$ {
expires 365d;
add_header Cache-Control "public, no-transform";
}
Проверьте и перезагрузите Nginx:
sudo nginx -t && sudo systemctl reload nginx
Загрузите файлы (HTML, CSS, изображения, 3D-модели) в /var/www/mysite/public_html
.
Используйте scp
для копирования с локального ПК:
scp -r /путь/к/файлам pi@ваш_IP:/var/www/mysite/public_html
Мониторинг ресурсов: Установите htop
для отслеживания нагрузки:
sudo apt install htop
Резервное копирование: Настройте регулярный бэкап папки /var/www/mysite
.
Отключите ненужные службы через sudo raspi-config
.
Установите fail2ban
для защиты от атак:
sudo apt install fail2ban
Готово! Ваш сайт доступен по адресу https://your_domain.com
. Если возникнут ошибки, проверьте логи Nginx:
sudo tail -f /var/log/nginx/error.log