Оптимизация производительности и тонкая настройка сервера — неотъемлемая часть работы с любым проектом. При использовании BitrixVM у многих администраторов возникает соблазн отредактировать основные конфигурационные файлы служб (PHP, MySQL, Apache) напрямую. Однако это рискованная практика: ваши правки могут быть перезаписаны во время очередного обновения виртуальной машины или служебного скрипта.
К счастью, в BitrixVM предусмотрен правильный и безопасный механизм кастомизации настроек — через специальные пользовательские конфигурационные файлы.
Почему нельзя править основные конфиги?
Прямое редактирование файлов вроде /etc/php.ini или /etc/my.cnf считается плохой практикой в данной среде по двум причинам:
-
Потеря при обновлении: Установочные пакеты BitrixVM могут заменять эти файлы на свои, в результате чего все ваши изменения будут безвозвратно утеряны.
-
Сложность аудита: Становится непонятно, какие настройки были установлены по умолчанию, а какие были добавлены администратором вручную.
Правильный способ: пользовательские конфигурационные файлы
Разработчики BitrixVM предусмотрели специальные кастомные файлы, которые подключаются в конце и имеют приоритет над стандартными настройками. Их главное преимущество — они остаются нетронутыми при обновлениях системы.
Вот полный список этих файлов для каждого сервиса:
-
PHP:
/etc/php.d/z_bx_custom.ini-
Сюда добавляются все параметры, которые обычно прописываются в
php.ini(например,memory_limit,max_execution_time,upload_max_filesize).
-
-
MySQL / MariaDB:
/etc/mysql/conf.d/z_bx_custom.cnf-
В этот файл вносятся изменения в секциях
[mysqld],[client]и других (например,innodb_buffer_pool_size,max_connections).
-
-
Apache:
/etc/httpd/bx/custom/z_bx_custom.conf-
Файл для добавления любых директив Apache, включая настройки виртуальных хостов и окружения.
-
-
Nginx:
/etc/nginx/bx/settings/z_bx_custom.conf-
Здесь можно переопределять любые настройки Nginx.
-
Важно: Если какого-то из этих файлов не существует, вы можете просто создать его с соответствующим именем и правами.
Порядок действий для применения настроек
-
Внесите правки. Отредактируйте нужный конфигурационный файл, добавив необходимые параметры. Для этого часто требуется права
root(используйтеsudoили войдите под root). -
Примените изменения. После сохранения файла нужно перезагрузить соответствующую службу:
-
Для Apache:
systemctl restart httpd -
Для Nginx:
systemctl restart nginx -
Для PHP-FPM:
systemctl restart php-fpm -
Для MySQL:
systemctl restart mysql
-
Полный перезагрузок всего сервера (reboot) обычно не требуется.
Практический пример: решение проблемы с mbstring.func_overload
Эта настройка особенно актуальна, если у вас на одном сервере работает несколько сайтов: свежие проекты на актуальных версиях Битрикс (где mbstring.func_overload отключен) и старые, не обновляемые сайты, которые критически зависят от значения mbstring.func_overload = 2.
Изменить эту настройку глобально для всех уже нельзя. Но можно точечно применить её только для нужного сайта через кастомный конфиг Apache.
Добавьте в файл /etc/httpd/bx/custom/z_bx_custom.conf следующий блок, заменив путь на актуальный путь к корневой директории вашего старого сайта:
<Directory "/home/bitrix/ext_www/old_site_directory">
php_admin_value mbstring.func_overload 2
</Directory>
После этого выполните команду systemctl restart httpd для перезагрузки Apache. Теперь только для указанного сайта будет действовать старая настройка, в то время как все остальные проекты на сервере будут работать с новыми стандартами.
Использование этого подхода делает управление сервером BitrixVM предсказуемым, безопасным и легко воспроизводимым при переносе проекта на новое окружение.
