Развертывание проектов за пределами классической связки PHP+MySQL. Настройка сред выполнения Python, Perl, Node.js, подключение баз данных PostgreSQL/Redis и использование компилируемых языков на виртуальном хостинге.
Этот раздел поможет настроить окружение для нестандартных задач без перехода на дорогостоящие выделенные серверы.
1. Интерпретируемые языки (Python и Perl)
- Perl: классическая среда для работы CGI-скриптов полностью поддерживается. Для максимальной производительности рекомендуется использовать модуль
mod_perl, который встраивает интерпретатор прямо в веб-сервер Apache, ускоряя обработку запросов до 20 раз за счет кэширования скомпилированного кода. Если вашему приложению требуется специфический CPAN-модуль, достаточно написать запрос в техподдержку — мы устанавливаем расширения системно для всего сервера. - Python: поддержка версий 3.x доступна через механизм Passenger WSGI. Это позволяет запускать современные фреймворки (Django, Flask, FastAPI).
- Особенность: управление зависимостями происходит через создание файла
requirements.txtв корне проекта. - Настройка: для корректной отдачи статических файлов (CSS, JS) необходимо создавать символические ссылки из папки приложения (
static) в публичную директориюpublic_html.
- Особенность: управление зависимостями происходит через создание файла
2. Современные среды выполнения (Node.js) Для запуска серверного JavaScript используется менеджер процессов Phusion Passenger.
- Как это работает: вы загружаете код в папку сайта, а специальный файл
.htaccessперенаправляет запросы к Node-приложению. - Управление пакетами: установка библиотек выполняется по SSH через команду
npm install. - Порты: приложение должно слушать случайный порт, предоставляемый переменной окружения
$PORT, которую передает Passenger.
3. Базы данных помимо MySQL Хотя MySQL остается стандартом де-факто, инфраструктура поддерживает работу с другими хранилищами:
- PostgreSQL: доступен как в виде облачного сервиса (DBaaS), так и локально на некоторых тарифах. Поддерживается тонкая настройка ролей, привилегий и внешнего доступа через
psqlили графические клиенты (DBeaver, DataGrip). - NoSQL (Redis/Memcached): используются для хранения сессий высоконагруженных сайтов и кеширования тяжелых SQL-запросов. Подключение осуществляется через сокеты Unix для минимизации задержек.
4. Компилируемые языки (Go / Rust) Запуск бинарных файлов возможен на тарифах с доступом к SSH.
- Ограничения: программа должна уметь работать в режиме FastCGI или слушать сетевой порт.
- Самостоятельная сборка: компиляция исходного кода обычно производится локально на вашей машине, после чего готовый исполняемый файл переносится на сервер. Обновление версии требует ручной замены бинарника и перезапуска процесса.
5. Конфигурация веб-сервера (.htaccess vs Nginx) Поскольку архитектура Beget использует комбинацию Nginx (как фронтенд-балансировщик) и Apache/Python-backends, важно понимать разделение обязанностей:
- Правила реврайтов для PHP пишутся в
.htaccess. - Для Python/Node.js логика маршрутизации URL должна быть реализована непосредственно во фреймворке, а в
.htaccessуказывается только точка входа (файлpassenger_wsgi.pyилиapp.js).