Структура каталогов ServBay
Структура каталогов ServBay проста и четка. Если у вас есть опыт работы с системами Linux/Unix, вы обнаружите, что они очень похожи.
Типичная структура каталогов ServBay следующая:
ServBay
|____backup
| |____config
| |____hosts
|____bin
|____data
| |____servbay
|____db
| |____redis
|____etc
|____logs
|____package
| |____bin
| |____common
| | |____imap-uw
| | |____include
| | |____lib
| | |____libexec
| | |____openssl
| | |____share
| |____etc
| | |____caddy
| | |____dnsmasq
| | |____mariadb
| | |____openldap
| | |____php
| | |____redis
| | |____scws
| |____mariadb
| | |____x.x
| |____node
| | |____xx
| |____php
| | |____x.x
| |____sbin
| |____var
| | |____log
| | |____run
|____sbin
|____script
|____ssl
| |____caddy
|____tmp
|____www
| |____servbay
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
38
39
40
41
42
43
44
45
Далее мы подробно объясним назначение каждого каталога.
Главный каталог
Главный каталог ServBay расположен в /Applications/ServBay
, все файлы хранятся в нем.
Если вам нужно сделать резервную копию (например, с помощью Time Machine или другого способа резервного копирования), сделайте полную резервную копию этого каталога.
Каталог корня сайта
Корень сайта расположен в /Applications/ServBay/www
. Рекомендуется создавать отдельную папку для каждого хоста, чтобы структура была четкой и легко управляемой.
Например:
/Applications/ServBay/www
|____com
| |____servbay
| | |____web # web.servbay.com
| | |____support # support.servbay.com
| | |____api # api.servbay.com
|____local
| |____sam
| | |____www # www.sam.local
| |____servbay
| | |____new # new.servbay.local
2
3
4
5
6
7
8
9
10
11
Каталог конфигурационных файлов
Каталог конфигурационных файлов расположен в /Applications/ServBay/etc
, это символическая ссылка на фактическое местоположение файлов в /Applications/ServBay/package/etc
.
В большинстве случаев можно использовать директорию /Applications/ServBay/etc
.
Пример конфигурационных файлов для популярных пакетов:
PHP
Каталог конфигурационных файлов PHP имеет двухуровневую структуру. В каталоге etc/php
находятся папки разных версий, например, 5.6
, 7.4
, 8.3
и т.д. Типичная структура:
php
|____5.6
| |____conf.d
|____7.0
| |____conf.d
| |____php-fpm.d
|____7.4
| |____conf.d
| |____php-fpm.d
|____8.3
| |____conf.d
| |____php-fpm.d
|____8.4
| |____conf.d
| |____php-fpm.d
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Каждая версия имеет свои файлы php.ini
, php-fpm.conf
, pear.conf
и т.д. После изменения этих файлов нужно перезапустить соответствующий PHP сервис, чтобы применить изменения.
Каталог conf.d
предназначен для конфигурации расширений PHP и содержит файлы типа xdebug.ini
, opcache.ini
, redis.ini
и другие. Эти файлы можно редактировать для загрузки, выгрузки или изменения расширений PHP. После изменений требуется перезапуск соответствующего сервиса PHP.
Примечание: Все минорные и мажорные версии используют общую конфигурацию. Например, 8.3.3
и 8.3.5
используют конфигурационные файлы версии 8.3
.
MariaDB
Каталог конфигурационных файлов MariaDB также имеет двухуровневую структуру, например, etc/mariadb/11.2
. В папке находится один файл my.cnf
, изменения в котором вступают в силу после перезапуска сервиса. Все минорные и мажорные версии используют общую конфигурацию.
Caddy
Примечание: Файл Caddyfile автоматически генерируется ServBay, не изменяйте его. Все изменения будут перезаписаны. Для настройки используйте раздел “Host” в ServBay.
dnsmasq
Каталог содержит два основных файла: dnsmasq.conf
и domains.conf
. Файл dnsmasq.conf
является основным конфигурационным файлом, а domains.conf
— автоматически генерируемым файлом доменов.
Примечание: Файлы dnsmasq.conf
и domains.conf
автоматически генерируются ServBay, не изменяйте их. Все изменения будут перезаписаны.
Каталог настроек ServBay
/Applications/ServBay/data
Этот каталог содержит необходимые для нормальной работы ServBay конфигурационные файлы и информацию. Пожалуйста, делайте резервное копирование и не удаляйте и не изменяйте файлы в этом каталоге.
Каталог исполняемых файлов и скриптов
/Applications/ServBay/bin -> package/bin
/Applications/ServBay/sbin -> package/sbin
/Applications/ServBay/script
2
3
Все исполняемые файлы ServBay находятся в каталогах bin
и sbin
. В этих каталогах создаются символические ссылки на разные версии PHP, Node и другие инструменты.
Эти каталоги содержат множество полезных инструментов, таких как curl
, openssl
, frpc
, а также различные версии PHP и Node.
Например, можно использовать php-5.6
для запуска скрипта с PHP 5.6, или node-15
для выполнения скрипта на Node.js версии 15.
Отдельно стоит упомянуть каталог script
. Этот каталог содержит системные скрипты ServBay для запуска и остановки сервисов, инициализации баз данных и других операций. Вы можете выполнять эти скрипты напрямую, но не изменяйте и не удаляйте их.
Эти скрипты включены в пакет servbayctl
. Вы можете напрямую выполнять операции с помощью servbayctl
, например:
servbayctl start php 7.0
Каталог файлов базы данных
/Applications/ServBay/db
Подобно каталогу etc
, каталог db
имеет многоуровневую структуру, каждый минорный и мажорный версия используют одну и ту же базу данных. В ходе разработки регулярно делайте резервные копии этого каталога.
Каталог логов
/Applications/ServBay/logs -> package/var/log
Все логи ServBay хранятся в этом каталоге. Кроме логов PHP и XDebug, которые создают множество файлов и сохраняются в подкаталоги, остальные логи сохраняются в подкаталоги соответствующих сервисов.
Логи доступа к сайту хранятся в каталоге caddy
, упорядоченные по доменам.
Логи PHP разделены на два файла: php-fpm.log
(логи от php-fpm) и errors.log
(логи ошибок). errors.log
создается только в случае, если ошибка возникает при выполнении кода и не перехватывается PHP-фреймворками.
Например, логи ошибок Laravel
будут храниться в файле storage/logs/laravel.log
внутри фреймворка Laravel
, но логи ошибок WordPress
и trongate
могут находиться в файле errors.log
.
Примечание: Лог-файлы могут занимать много места, поэтому регулярно очищайте их.
Каталог пакетов
/Applications/ServBay/package
Этот каталог содержит все установленные пакеты ServBay, структура организована как имя пакета/мажорная версия/минорная версия
, например, package/php/8.3/8.3.7
.
Для освобождения места вы можете вручную удалять старые версии, которые больше не нужны.
Примечание: В каждом каталоге есть символическая ссылка current
, указывающая на последнюю версию пакета. Не удаляйте эти ссылки, иначе сервис не сможет запуститься.
Каталог SSL сертификатов
/Applications/ServBay/ssl
Этот каталог содержит SSL сертификаты, включая локальные SSL корневые сертификаты (CA).
Каталог резервных копий
/Applications/ServBay/backup
Автоматический каталог резервных копий ServBay, в настоящее время используемый для резервного копирования файла /etc/hosts
.
Каталог временных файлов
/Applications/ServBay/tmp
Этот каталог содержит .pid
файлы, создаваемые при запуске сервисов, а также socket файлы PHP, MariaDB и PostgreSQL, такие как php-cgi.sock
, mysql.sock
и т.д.
В процессе разработки программы могут обращаться к php-fpm и базам данных не только через TCP порты, но и через socket файлы. Socket файлы, как правило, имеют большую пропускную способность, лучшую производительность и меньшую задержку по сравнению с TCP портами.
Каталог общих компонентов и библиотек для разработки
/Applications/ServBay/package/common
Этот каталог содержит общие компоненты, необходимые для всех приложений ServBay, такие как различные файлы *.dylib
.
Если установлена библиотека разработки ServBay, здесь также будет каталог include
, а в lib
будут храниться различные файлы *.la
и *.a
. Это библиотеки и заголовочные файлы, необходимые для повторной компиляции.
Примечание: Не удаляйте файлы в каталоге lib/*.dylib
, иначе программы могут работать некорректно из-за отсутствия необходимых библиотек.