⚡️ LEGENDARY TOXIC CODE ONLY // AI DEEP TUNING // GAMEDEV NEURAL CORES // NO CHAT JUST DEV // bobbyhost HIGH PERFORMANCE // ⚡️ ⚡️ LEGENDARY TOXIC CODE ONLY // AI DEEP TUNING // GAMEDEV NEURAL CORES // NO CHAT JUST DEV // bobbyhost HIGH PERFORMANCE // ⚡️

ВЫБЕРИ СВОЙ СВЕТОВОЙ ЦИКЛ

ВЫБЕРИТЕ ФОН САЙТА

Темный техно
Неоновый градиент
Космический
Минималистичный
КАТЕГОРИЯ: Сайты на JS

Как развернуть сайт на JavaScript на VPS с AlmaLinux 8/9/10 Введение

AlmaLinux — это стабильная операционная система на основе RHEL, которая отлично подходит для развертывания JavaScript-приложений. В этой статье мы подробно рассмотрим процесс настройки VPS с AlmaLinux 8/9/10 для хостинга сайтов на Node.js, включая установку необходимого ПО, настройку веб-сервера Nginx, автоматического запуска приложения с помощью PM2, настройку SSL-сертификата и оптимизацию производительности. Предварительные требования Для начала вам потребуется: VPS с AlmaLinux 8/9/10 (например, от Hetzner, DigitalOcean или Vultr) Пользователь с правами sudo Доменное имя, настроенное на IP-адрес вашего VPS SSH-доступ к серверу Шаг 1: Обновление системы и установка необходимых пакетов Подключитесь к вашему серверу через SSH и выполните обновление системы: sudo dnf update -y Установите необходимые пакеты: sudo dnf install -y curl git wget tar gzip unzip Шаг 2: Установка Node.js Для работы с JavaScript-приложениями установим последнюю LTS-версию Node.js. Начнем с добавления репозитория NodeSource: curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash - Установим Node.js и npm: sudo dnf install -y nodejs Проверьте версию установленных пакетов: node -v npm -v Шаг 3: Клонирование репозитория с вашим приложением Создайте директорию для вашего проекта: mkdir -p ~/js-app cd ~/js-app Склонируйте репозиторий с вашим приложением (например, из GitHub): git clone https://github.com/yourusername/your-repo.git . Установите зависимости: npm install --production Шаг 4: Настройка PM2 для автоматического запуска приложения PM2 — это процесс-менеджер для Node.js, который обеспечивает автоматический перезапуск приложения при сбоях и логирование. Установите PM2 глобально: sudo npm install -g pm2 Запустите ваше приложение с помощью PM2: pm2 start npm --name "my-js-app" -- start Проверьте статус приложения: pm2 list Сохраните конфигурацию PM2, чтобы она загружалась автоматически при перезагрузке сервера: pm2 save pm2 startup Шаг 5: Настройка Nginx в качестве reverse proxy Установите Nginx: sudo dnf install -y nginx Откройте порт 80 и 443 в брандмауэре: sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload Создайте конфигурационный файл для вашего сайта: sudo nano /etc/nginx/conf.d/my-js-app.conf Добавьте следующую конфигурацию (замените yourdomain.com на ваш домен): server { listen 80; server_name yourdomain.com www.yourdomain.com; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } Перезапустите Nginx: sudo systemctl restart nginx Шаг 6: Настройка SSL-сертификата с Let’s Encrypt Установите Certbot для получения SSL-сертификата: sudo dnf install -y certbot python3-certbot-nginx Получите SSL-сертификат: sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com Следуйте инструкциям в терминале, чтобы завершить настройку. Certbot автоматически обновит конфигурацию Nginx для использования HTTPS. Автоматизируйте обновление сертификатов: sudo certbot renew --dry-run Шаг 7: Оптимизация производительности и безопасности Настройка кеширования в Nginx Отредактируйте конфигурационный файл Nginx для добавления кеширования статических файлов: sudo nano /etc/nginx/conf.d/my-js-app.conf Добавьте следующее в блок server: location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ { expires 1y; add_header Cache-Control "public"; access_log off; } Перезапустите Nginx: sudo systemctl restart nginx Настройка ограничения скорости и защиты от DDoS Установите пакет fail2ban для защиты от атак: sudo dnf install -y fail2ban sudo systemctl enable --now fail2ban Отредактируйте конфигурацию Nginx для ограничения скорости: sudo nano /etc/nginx/conf.d/my-js-app.conf Добавьте следующие директивы в блок server: limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s; server { ... limit_req zone=one burst=20 nodelay; ... }