Конфигурирование окружения проекта с помощью файла .servbay.config
Обзор
ServBay — мощный инструмент для локальной разработки веб-приложений, который позволяет создавать отдельные, независимые окружения для разных проектов. Основой этой гибкости является поддержка файла с именем .servbay.config
, размещаемого в корневой папке каждого проекта.
С помощью файла .servbay.config
вы легко можете задать нужные версии PHP, Node.js, Python, Go, Java и других языков, а также настроить параметры менеджеров пакетов для Node.js (например, указать зеркало NPM или Yarn, их директории кеша и прочее). Такой детальный контроль на уровне проекта значительно повышает удобство разработки, гарантируя, что каждый проект работает в оптимальном для себя окружении и исключая конфликты версий.
Как работает файл .servbay.config
Когда ServBay запускает или перезагружает сайт, он проверяет наличие файла .servbay.config
в корневой директории сайта. Если файл найден, ServBay считывает его содержимое и применяет эти параметры к рабочему окружению данного сайта. Конфигурация на уровне проекта перекрывает соответствующие глобальные настройки ServBay. Если файл отсутствует или какой-либо параметр в нем не задан, используются значения по умолчанию из глобальных настроек ServBay.
Благодаря этой системе вы можете бесшовно переключаться между разными проектами, ведь каждый из них хранит собственную конфигурацию среды.
Как создать и настроить .servbay.config
Создать и настроить файл .servbay.config
— очень просто.
Расположение файла
Создайте файл с именем .servbay.config
в корневой директории вашего проекта. Обычно проектная папка находится в каталоге сайтов ServBay по пути, например, /Applications/ServBay/www/ИмяВашегоПроекта/
.
Синтаксис конфигурации
Файл .servbay.config
использует простой формат KEY=VALUE
для задания параметров по одному на строку. Для добавления комментариев используйте символ #
в начале строки — так файл становится более читаемым.
Пример настроек
Ниже приведен пример содержимого файла .servbay.config
, демонстрирующий конфигурирование различных версий окружений и параметров менеджеров пакетов:
# Пример файла .servbay.config
# Укажите требуемую версию PHP. Убедитесь, что эта версия установлена в ServBay.
PHP_VERSION=8.5
# Укажите используемую версию Node.js. Она также должна быть установлена.
NODE_VERSION=20
# Настройте зеркальный репозиторий для Yarn, чтобы ускорить загрузку зависимостей.
YARN_CONFIG_REGISTRY=https://npmreg.proxy.ustclug.org/
# Аналогично — зеркало для NPM.
NPM_CONFIG_REGISTRY=https://npmreg.proxy.ustclug.org/
# Укажите директорию кеша NPM (относительно директории установки ServBay).
NPM_CONFIG_CACHE=/Applications/ServBay/tmp/npm/cache
# Укажите директорию кеша Yarn (относительно директории установки ServBay).
YARN_CONFIG_CACHE=/Applications/ServBay/tmp/yarn/cache
# Установите требуемую версию Ruby, предварительно установив ее в ServBay.
RUBY_VERSION=2.7
# Укажите используемую версию Java (OpenJDK). Должна быть установлена в ServBay.
JAVA_VERSION=21
# Задайте необходимую версию Python.
PYTHON_VERSION=3.11
# Задайте версию .NET, которая должна быть установлена в ServBay.
DOTNET_VERSION=5.0
# Укажите используемую версию Go.
GO_VERSION=1.12
# Задайте адрес прокси-сервера для Go-модулей, чтобы ускорить их загрузку.
GOPROXY=https://goproxy.cn,direct
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Обратите внимание: версии, указанные в примере (PHP_VERSION=8.5
, NODE_VERSION=20
и пр.), даны для иллюстрации. В реальных проектах используйте только поддерживаемые и установленные в вашем ServBay значения. Если указана неустановленная версия, ServBay либо переключится на дефолтную, либо выведет сообщение об ошибке.
Поддерживаемые типы параметров
Файл .servbay.config
поддерживает следующие основные типы параметров (см. пример выше):
Указание версий окружения:
PHP_VERSION
— версия PHP.NODE_VERSION
— версия Node.js.RUBY_VERSION
— версия Ruby.JAVA_VERSION
— версия Java (OpenJDK).PYTHON_VERSION
— версия Python.DOTNET_VERSION
— версия .NET.GO_VERSION
— версия Go.- (См. документацию или интерфейс ServBay для актуального списка поддерживаемых переменных и окружений.)
Параметры менеджеров пакетов (Node.js):
YARN_CONFIG_REGISTRY
— зеркало для Yarn.NPM_CONFIG_REGISTRY
— зеркало для NPM.NPM_CONFIG_CACHE
— путь к кешу NPM.YARN_CONFIG_CACHE
— путь к кешу Yarn.
Прокси для Go-модулей:
GOPROXY
— адрес прокси-сервера для Go модулей.
Эти настройки позволяют изолировать окружение каждого проекта друг от друга.
Применение и проверка
После настройки файла .servbay.config
проверьте, что ваш проект добавлен в ServBay (его имя должно быть в списке “Сайты” в приложении). При открытии или перезагрузке сайта ServBay прочтет все настройки из этого файла.
Для проверки того, что указанные параметры применились:
Проверьте интерфейс приложения ServBay: версию среды для выбранного проекта можно увидеть в деталях сайта.
Используйте терминал внутри ServBay: перейдите в корневую папку проекта через консоль ServBay и выполните соответствующие команды для проверки версий:
- Проверить версию PHP:
php -v
- Проверить Node.js:
node -v
- Проверить Yarn:
yarn -v
- Проверить NPM:
npm -v
- Проверить Python:
python -V
илиpython3 -V
- Проверить Go:
go version
- Проверить Java:
java -version
- Проверить .NET:
dotnet --version
- Проверить Ruby:
ruby -v
Сравните выводимые версии с вашими настройками из.servbay.config
.
- Проверить версию PHP:
Проверка через браузер (для PHP): создайте в корне проекта файл
info.php
со следующим содержимым:<?php phpinfo(); ?>
. Перейдите по адресу (например,http://your-project.servbay.demo/info.php
) — в информации phpinfo найдите используемую версию PHP и убедитесь, что она совпадает с указанной в настройках.
Ниже показан возможный пример интерфейса ServBay при успешной загрузке параметров из .servbay.config:
(Ориентируйтесь на фактический вывод ServBay для понимания, как отображаются применённые настройки.)
Важные замечания
- Имя файла должно быть строго
.servbay.config
, без ошибок в написании. - Файл обязан лежать в корне проекта.
- Все указанные версии должны быть заранее установлены в ServBay.
- Параметры задаются одной парой
KEY=VALUE
на строку. - Ошибки в синтаксисе могут привести к игнорированию настроек или некоторых их частей.
- Параметры из
.servbay.config
перекрывают глобальные настройки, влияя только на текущий проект.
Часто задаваемые вопросы (FAQ)
Вопрос: Что будет, если в корне проекта нет файла .servbay.config
?
Ответ: В этом случае ServBay применит глобальные настройки окружения, заданные через интерфейс приложения.
Вопрос: Что произойдет, если в файле .servbay.config
указана версия, которая не установлена в ServBay?
Ответ: ServBay выдаст ошибку, детали зависят от конфигурации и версии приложения. Перед настройкой всегда устанавливайте требуемую версию среды в ServBay.
Вопрос: Нужно ли перезапускать ServBay после изменений в .servbay.config
?
Ответ: Обычно достаточно просто повторно загрузить (или остановить и снова запустить) соответствующий сайт в приложении ServBay. Полная перезагрузка сервиса не требуется.
Вопрос: Могут ли настройки из .servbay.config
повлиять на другие проекты?
Ответ: Нет. Этот файл действует только в каталоге своего проекта и никак не затрагивает другие сайты в ServBay.
Итоги
С помощью файла .servbay.config
ServBay предоставляет гибкость управления окружением на уровне отдельного проекта. Это незаменимо для поддержки старых проектов, требующих особых версий ПО, а также для создания новых решений с использованием самой современной технологической базы. Простое редактирование этого файла позволяет мгновенно переключать и изолировать рабочие среды под нужды задачи — это быстро, удобно и безопасно для вашего процесса локальной разработки. Используйте эту возможность, чтобы сделать свой рабочий процесс ещё эффективнее.