Введение
Вопрос с потреблением памяти mysql при работе в bitrixenv я уже разбирал отдельно некоторое время назад — где хранятся настройки mysql. Рекомендую с ней ознакомиться, так как там информация напрямую относящаяся к текущей теме оптимизации использования памяти сайта на bitrix при работе в bitrixenv.
Разработчики bitrixenv упростили работу системных администраторов по настройке сервера, внедрив службу bvat, которая автоматически при запуске сервера подбирает оптимальные параметры следующих служб:
- mysql
- apache
- nginx
- php
Настройки будут зависеть от количества доступной оперативной памяти. В целом, это неплохой шаг, который упрощает начальную настройку сервера. Чаще всего конфигурация служб получается адекватной и подохдящей для типовых сайтов.
В моем случае стандартные настройки перестали подходить. На сервере время от времени появлялась нехватка оперативной памяти. Приходил OOM Killer (OOM — Out of memory) и грохал mysql сервер, так как он потреблял больше всего оперативной памяти. Какое-то время все работало нормально, потом провторялось то же самое.
Мое внимание привлекли события из мониторинга Zabbix, такие как Lack of available memory on server. Посмотрел график и все сразу стало ясно, еще до подключения к серверу
Зашел на сервер, посмотрел системный лог. Увидел там вот это:
kernel: Out of memory: Kill process 7382 (mysqld) score 431 or sacrifice child kernel: Killed process 7382 (mysqld) total-vm:3967860kB, anon-rss:1942144kB, file-rss:0kB, shmem-rss:0kB systemd: mysqld.service: main process exited, code=killed, status=9/KILL systemd: Unit mysqld.service entered failed state. systemd: mysqld.service failed. systemd: mysqld.service holdoff time over, scheduling restart. systemd: Stopped MySQL Server. systemd: Starting MySQL Server... systemd: Started MySQL Server.
Первое, что я сделал — увеличил swap раздел до объема всей оперативной памяти. До этого он был размером в 1G. Это сразу помогло и предотвратило регулярный приход OOM Killer. А я стал спокойно разбираться, что делать дальше.
План дальнейшей настройки сервера для стабильной работы сайта на bitrix следующий:
- Определяем основных потребителей оперативной памяти.
- Распределяем всю свободную память между ними.
- Убеждаемся, что под нагрузкой все работает корректно, всем хватает памяти, OOM Killer не приходит.
Оптимизация настроек apache в bitrixenv
Дальше переходим ко второму основному потребителю оперативной памяти на сервере с сайтом на bitrix — apache. Ему, как и для mysql, служба bvat автоматически выставляет некоторые настройки. Она хранятся в файле /etc/httpd/bx/conf/prefork.conf. Нас будут интересовать настройки, касающиеся количества запущенных процессов.
Чтобы узнать, количество запущенных процессов httpd, обслуживающих работу bitrix сайта, введите в консоли сервера команду:
# ps ax | grep httpd | wc -l
Вы получите число, на 2 больше, чем указано в приведенном конфиге, в параметрах модуля mpm_prefork. В моем случае bvat выставлял максимально возможное количество процессов httpd равное 60, но для меня это было слишком много, сервер не тянул такое количество процессов. Я его уменьшил до 30.
Как вы понимаете, в зависимости от bitrix сайта, один процесс httpd будет использовать разное количество памяти, поэтому автоматически невозможно выставить этот параметр корректно для всех сайтов. В данном случае, дефолтный параметр мне не подошел, поэтому я создал свой файл настроек httpd — /etc/httpd/bx/custom/z_bx_custom.conf.
Привожу скриншотом, потому что движок сайта проглатывает все строки в угловых скобках. Не получается выложить полностью конфиг в текстовом виде. В общем случае, вам надо посмотреть, сколько у вас занимает памяти один процесс httpd и рассчитать максимальное количество процессов, которое потянет ваш сервер.
Посмотреть, сколькло памяти занимает один процесс httpd можно в htop или с помощью команды:
# ps -o vsz,rss,cmd --pid $(pgrep httpd)
Будет один основной процесс, который занимает больше всего памяти и дальше его форки, которые потребляют примерно одинаково. На них и ориентируйтесь. У меня основной процесс потребляет 500 Мб и 30 форков по 100 Мб. В сумме получается 3.5 Гб.
Итого в пике у меня 6.5 Гб использует mysql и 3.5 Гб использует httpd, итого 10 Гб из доступных 12-ти. На практике, свободной памяти обычно больше, чем 2 Гб, так как mysql чаще всего потребляет ниже максимального предела.
Что получим
Веб-окружение позиционируется, как лучшее решение для всей линейки продуктов Битрикс – как для всех редакций “1С-Битрикс: Управление Сайтом” так и для коробки Битрикс24. Давайте посмотрим, что нам предлагают использовать в качестве рекомендуемой связки. Сама схема традиционна: Apache+nginx. Для текущей 7.0.1 версии веб-окружения используются стабильные Apache 2.4 и nginx 1.10.2. Самое главное нововведение, переход на php 7. Про официальную поддержку nginx+php-fpm пока даже слухов нет, так что данный вариант по прежнему придется собирать руками. Версия MySQL, а точнее форка MariaDB, по прежнему 5.5, в соответствии с официальными репозиториями CentOS. Хотя, если вы обновлялись до последних версий Битрикс, наверняка встречали предложение выполнить в консоли БД некий sql-запрос для модуля “Веб-мессенджер”, который можно провернуть только с версией 5.6. Про переход на 5.6, так же как нибудь расскажу. Что еще входит в пакет:
- memcached – сервис обеспечивающий кеширование данных в ОЗУ, при правильном использовании дает значительное ускорение работы. По умолчанию не используется;
- stunnel – для организации шифрованных ssl-тунелей;
- catdoc – библиотека для работы с форматами MS Office. В частности используется для поиска по документам;
- xpdf – задачи те же что и пунктом выше, только для PDF;
- munin и nagios – мониторинг состояния сервера. По умолчанию не используется;
- sphinx – полнотекстовый поиск. На данный момент наилучшее решение по удобству, качеству и скорости поиска. По умолчанию не используется.
Само собой все это уже настроено на корректную работу друг с другом. Давайте ставить.
Установка «1С-Битрикс: Веб-окружение» на сервер
Качаем скрипт установки – актуальную ссылку на скачивание можно . Запускать надо root’ом и далее подразумевается, что мы находимся в
. Если нет, перейдите выполнив:
# cd ~
1 | # cd ~ |
В процессе установки будут задаваться уточняющие вопросы.
или
служат для отказа, любой другой ввод – для соглашения. Т.е. что бы согласится достаточно нажать
.
# curl -O http://repos.1c-bitrix.ru/yum/bitrix-env.sh # bash bitrix-env.sh
1 2 |
# curl -O http://repos.1c-bitrix.ru/yum/bitrix-env.sh # bash bitrix-env.sh |
Если у вас включен SElinux, то первым шагом попросят отключить:
You must disable SElinux before installing the Bitrix Environment. Do you want disable SELinux?(Y|n)
1 2 |
You must disable SElinux before installing the Bitrix Environment. Doyou want disable SELinux?(Y|n) |
Соглашаемся и жмем
для подтверждения. После успешного отключения надо перегрузить сервер:
Change SELinux state to disabled in /etc/selinux/config Change SELinux state to disabled in /etc/sysconfig/selinux Please reboot the system! (cmd: reboot)
1 2 3 |
Change SELinux state todisabled inetcselinuxconfig Change SELinux state todisabled inetcsysconfigselinux Please reboot the system!(cmdreboot) |
После перезагрузки заново запускаем скрипт установки.
Запуск установки “1С-Битрикс: Веб-Окружение”
Первым будет запушен процесс обновления системы, что бы актуализировать версии установленных пакетов. Т.е. по сути:
yum -y update
1 | yum-yupdate |
Затем будет установлено все необходимое ПО. Процесс установки занимает около 10-15 мин. После установки спросят, хотим ли мы задать пароль root для MySQL. Соглашаемся и устанавливаем:
Do you want to set a password for root user in MySQL service?(Y|n): Enter root password: Re-enter root password:
1 2 3 |
Doyou want tosetapassword forroot user inMySQL service?(Y|n) Enter root password Re-enter root password |
На этом установка завершена, о чем будет выдано соответствующее извещение. Запускаем скрипт управления средой (после перезагрузки и входа по root’ом этот скрипт будет запускаться автоматически):
# ./menu.sh
1 | # ./menu.sh |
При первом запуске нас попросят задать пароль для пользователя
.
Первый запуск 1С-Битрикс: Веб окружение
Задаем пароль и попадаем в стартовое меню “1С-Битрикс: Веб-окружение”. Установка завершена, переходим к настройке.
Настройка Веб-окружения Битрикс
Меню при первом запуске
Чем хороши скрипты Веб-окружения, то это тем, что позволяют настроить веб-сервер под 1С-Битрикс, не обладая глубокими знаниями по администрированию Linux. А для тех, кто разбирается, сократить время на рутинные операции по настройке сервера. Теоретически, вам вообще нет необходимости выходить из оболочки веб-окружения, все должно делается ее средствами. На практике, конечно, это не совсем так, но для быстрого запуска веб-сервера, это отличное решение. Давайте все же немного разберемся с настройками и создадим среду для сайта, куда развернем Битрикс: Управление Сайтом (БУС). Первым делом нам надо создать Menengment pool (управляемую среду). Для этого выбираем пункт 1 меню (жмем цифру 1 и ). Запустится мастер который попросит вас ввести FQDN адрес вашего сайта. Вводите имя вашего домена без www, http и т.п. Т.к. я настраиваю в локальной виртуальной среде, у меня это будет mysite.local.
Создаем управляемую среду (Managment pool) в веб-окружении Битрикс.
После этого в главном меню добавится значительное число пунктов.
Главное меню, после создания пула
Собственно, на этом можно было бы и остановится, если вы перейдете по адресу, который вы задали для среды, то увидите следующее:
Среда создана, можно ставить Битрикс
Настройка почты
- Enter from address (ex. bob@example.org): указываем адрес от имени которого будет происходить рассылка, желательно указывать существующий;
- Enter server address or DNS (127.0.0.1): оставляем как указано и жмем ;
- Enter server port (25): то же оставляем как есть;
- Do you want to use SMTP authentication on the 127.0.0.1:25? (N|y) – нет, спасибо. Вводим ;
- Do you need TLS enable for 127.0.0.1:25 (n|Y): то же нет, вводим .
Собственно все видно на скриншоте:
Настраиваем почту
В Битрикс, запускаем “Проверку системы” и убеждаемся, что все в порядке:
Почта работает
Надеюсь, вы понимаете, что к отправленной таким образом почте будет крайне мало доверия. Поэтому рекомендую настраивать почту через реальный SMTP сервер с аутентификацией и настроенным DKIM. И ещё один момент – почтовый лог пишется в
Включаем memcached
В главном меню переходим к пункту . И затем . Затем вводим имя хоста для которого будет запущен сервис. В нашем случае он у нас один.
Включаем memcached для Битрикс: Веб-окружение
Собственно все – как видно на скрине, все запущено. Жмем Enter для возврата в предыдущее меню. После этого не забудьте включить поддержку memcached в Битрикс – как описано в официальной документации.
Включаем sphinx
Аналогично добавим для Битрикс поддержку полнотекстового поиска через sphinx. Выбираем , затем Здесь нам надо сначала ввести имя хоста, а затем имя базы данных, с которой будет работать sphinx. На запрос переиндексации соглашайтесь (Битрикс должен быть уже установлен и БД не пустая).
Включаем sphinx
Как всегда с Битрикс, есть особенности. Если модуль “Поиск” меньше версии 17.0.0 то будете получать сообщение “Ошибка подключения к серверу Sphinx: Расширение MySql не установлено”.
Ну и последнее,
Как отключить автоматический запуск меню Веб-окружения при логине
Выходим из меню веб-окружения в консоль сервера (). И в файле комментируем последнюю строку, где скрипт меню и вызывается:
- https://serveradmin.ru/bitrixenv-optimizacziya-nastroek-servera-pod-sajt-na-bitrix/
- https://miditator.ru/blog/1c-bitrix/nastroyka-servera-bitriks/
- https://host-consult.ru/bitriks-veb-okruzhenie/
Изменение стандартных настроек BitrixVM
Как я уже говорил, служба bvat автоматически регулирует некоторые настройки стандартных служб bitrixenv. Чтобы применять наши настройки, нужно их указывать в отдельных конфигурационных файлах.
- MySQL — /etc/mysql/conf.d/z_bx_custom.cnf
- Apache — /etc/httpd/bx/custom/z_bx_custom.conf
- nginx — /etc/nginx/bx/conf/z_bx_custom.conf
- PHP — /etc/php.d/z_bx_custom.ini
А вот общий список всех основных конфигурационных файлов bitrixenv:
- /etc/php.d/bitrixenv.ini — основные настройки php
- /etc/httpd/bx/conf/prefork.conf — параметры модуля Apache — MPM prefork;
- /etc/php.d/z_bx_custom.ini — пользовательские настройки PHP;
- /etc/httpd/bx/custom/z_bx_custom.conf — пользовательские настройки Apache;
- /etc/mysql/conf.d/z_bx_custom.cnf — пользовательские настройки MySQL;
- /etc/nginx/bx/conf/z_bx_custom.conf -пользовательские настройки nginx;
- /etc/nginx/bx/conf/push-im_settings.conf — настройки nginx-push-stream-module.
Доступ к bitrix сайтам разным пользователям по sftp
Делается это с помощью mount —bind. Если у вас несколько сайтов, то имеет смысл для каждого сайта делать отдельный каталог и моунтить туда нужный сайт.
# mkdir /home/dev-group/site1.ru # chown bitrix. /home/dev-group/site1.ru # chmod 750 /home/dev-group/site1.ru # mount --bind /home/bitrix/ext_www/site1.ru /home/dev-group/site1.ru
Подключитесь еще раз по sftp и попробуйте отредактировать или создать файл в каталоге с сайтом. Его владельцем будет пользователь bitrix, что нам и нужно для корректной работы с сайтом.
При необходимости, можете добавить монтирование каталога с сайтом в автозагрузку, чтобы не пришлось это делать еще раз после перезагрузки сервера. Для этого в /etc/fstab добавьте в самый конец строку.
/home/bitrix/ext_www/site1.ru /home/dev-group/site1.ru none bind 0 0
Обязательно убедитесь, что файл fstab оканчивается переходом на новую строку
Это важно. Перезагрузите сервер, чтобы убедиться в том, что все корректно настроили
Если вам нужно добавить еще одного пользователя для работы над такими же сайтами, то просто добавляйте его в систему по аналогии с первым.
# adduser devbitrix02 -g600 -o -u600 -s /sbin/nologin -d /home/dev-group/ # passwd devbitrix02 # usermod -aG dev-group devbitrix02
В том случае, когда список сайтов для разных пользователей будет разный, добавляйте новую группу в другую домашнюю директорию и биндите туда другой набор сайтов. Если же вам изначально нет необходимости управлять группами, то в настройках sshd вместо:
Match Group dev-group
используйте
Match User devbitrix01
и так для каждого отдельного пользователя.
Небольшое замечание по работе mount с ключом bind. Тут надо быть аккуратным. Если у вас сложная конфигурация сервера и в какой-то момент вы отмонтируете диск с сайтами, откуда стоят линки на домашние директории пользователей, там эти точки монтирования останутся, как и доступ к файлам. Так что прежде чем что-то делать с разделом, где лежат сайты, отмонтируйте все каталоги, которые биндили пользователям. Посмотреть их можно командой mount без ключей.
# mount
На этом у меня все по настройке sftp пользователей для bitrix. Надеюсь, эта информация будет для вас полезна. Мне она периодически нужна, поэтому решил оформить в статью, чтобы самому потом было проще вспоминать последовательность действий.
Онлайн курс «DevOps практики и инструменты»
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Проверьте себя на вступительном тесте и смотрите программу детальнее по .
Добавление сайта
Предварительно настройте DNS-записи в на хостинге где размещены домены, записи должны соответствовать ip-адресу сервера.
В BitrixEnv запустите мастер добавления новго сайта Configure pool sites > Create site.
Укажите адрес сайта, тип kernel и другие данные .
Спустя некоторое время сайт будет добавлен.
Cайт будет создан в каталоге /home/bitrix/ext_www/site.ru
Если записи для домена настроены, то при переходе по адресу сайта в браузере, откроется страница установки сайта 1С-Битрикс.
Теперь можно установить новый сайт или восстановить уже существующий из бэкапа.
Примечание: Следует отметить, что при установке BitrixEnv в директории /home/bitrix/www/ создается сайт по умолчанию. Этот сайт будет открываться при переходе по ip-адресу вашего сервера в браузере. В нем так же размещены скрипты установки 1С-Битрикс. Не стоит оставлять их без внимания. Например, можно удалить и загрузить сюда пустой индексный файл index.html и/или при необходимости с помощью .htaccess настроить редирект на нужный сайт. Пример файлов.
Может пригодиться:
Ссылка на загрузку скрипта для новой установки битрикс: Ссылка на загрузку скрипта для восстановления сайта из бекапа:
Оптимизация настроек Mysql
На подопытном сервере имеется 12 Гб оперативной памяти. Я решил половину этой памяти отдать под mysql. Приступим к тюнингу конфигурации mysql. В общем случае достаточно будет одного параметра, который в основном отвечает за потребление памяти:
innodb_buffer_pool_size = 4G
В моем случае этого было недостаточно. Я решил более внимательно подойти к настройке mysql. Нашел неплохой инструмент — MySQLTuner, который анализируя работу mysql, выдает некоторые рекомендации по настройке. Сам я не разбираюсь в тонкой настройке mysql, поэтому решил довериться утилите. Судя по отзывам, она неплоха и доверять ей можно, если сам не разбираешься в теме. Забегая вперед скажу, что с помощью этого тюнера я настроил mysql на стабильную работу с фиксированным потребелением памяти. Проблем с этим сервером с тех пор не возникало.
Итак, копируем себе на сервер сам скрипт:
# wget http://mysqltuner.pl/ -O mysqltuner.pl
Запускаем его:
# perl mysqltuner.pl
Для того, чтобы рекомендации получились более эффективные, служба mysql должна поработать у вас несколько дней. Если накануне перезапускали ее, а я это делал, то рекомендую через несколько дней зайти и еще раз прогнать тесты. Будут новые советы по конфигу.
Для оптимизации потребления памяти, достаточно будет прогнать скрипт в любое время. Я вам рекомендую внимательно изучить его возможности. Подробно на них я сейчас не буду останавливаться, а рассмотрю только то, что касается памяти. Помимо прочего, вы увидите следующую информацию.
У меня уже все оптимизировано под потребленее не более примерно 6 Гб памяти. Расскажу, какие параметры за это отвечают. Как уже сказал ранее, это параметр innodb_buffer_pool_size. В общем случае для mysql сревера рекомендуют указывать этот параметр равный 80% доступной памяти сервера. Но это в том случае, если у вас кроме mysql на этом сервере ничего не крутится. А у нас там полно других служб, поэтому нам такой совет не подходит.
Дальше нам нужно выяснить, сколько памяти занимает thread (процесс, который порождает соединение) и в соотвествии с этим выставить предел числа подключений. Размер thread равен сумме следующих парметров — read_buffer_size + sort_buffer_size + join_buffer_size.
innodb_buffer_pool_size = 4G sort_buffer_size = 18M join_buffer_size = 18M max_connections = 70
С такими настройками максимальное потребление памяти службой mysql не будет превышать 6.8 Гб, о чем подсказывает вывод mysqltuner. Конкретно моему сайту 70 подключений к mysql достаточно. До этого поставил 50, были сообщения о нехватке подключений. На своем сервере выбирайте параметры сами, у меня не копируйте.
Maximum possible memory usage: 6.8G (58.69% of installed RAM)
На практике так и получилось. Через несколько дней я зашел и прогнал еще раз проверку, которая показала, что реально использование памяти не вышло за эти пределы. Плюс, подредактировал некоторые параметры.
Советы по изменению параметров даются в заключительной секции mysqltuner — Variables to adjust. Не буду приводить свои рекомендации, так как они будут актуальны только для конкретного сервера. Советую посмотреть все рекомендации, почитать описание параметров и попробовать применить их у себя. Слепо не надо менять то, что там советуют.
Приведу список основных параметров mysql, которые влияют на производительность и на которые надо в первую очередь обращать внимание:
- max_connections
- log_bin
- table_open_cache_size
- table_definitions_cache_size
- open_files_limit
- innodb_buffer_pool_size
- innodb_log_file_size
- innodb_flush_log_at_trx_commin
- innodb_flush_method=O_DIRECT
Список взял отсюда. Очень полезная статья, рекомендую.
Оптимизация php под bitrix
Из настроек php я бы обратил внимание на следующие параметры:
- memory_limit — максимальное количетсво памяти на выполнение php скрипта;
- sendmail_path — управляет параметрами отправки сообщений, хотя к теме текущей статьи и не имеет отношение;
- post_max_size — максимальный размер данных для всего POST запроса;
- upload_max_filesize — максимальный размер файла для загрузки через POST запрос;
- max_execution_time — максимальное время в секундах, в течение которого скрипт должен полностью загрузиться.
Так или иначе, эти параметры, кроме sendmail, влияют на производительнойсть сервера и потребление памяти. Не ставьте эти значения слишком большими без особой надобности. Я бы для начала выставил в 256 Мб и увеличивал по мере необходимости. Да, 256 Мб это и так очень много, но сайт на bitrix требует высоких значений этих параметров для корректной работы. 256 мб это общая рекомендация для дефолтных значений.
Свои параметры php вы можете размещать в отдельном конфиге, который не будет перетираться bitrixenv — /etc/php.d/z_bx_custom.ini. После изменения настроек надо перезапускать apache для применения.
Настройка Веб-окружения Битрикс
Меню при первом запуске
Чем хороши скрипты Веб-окружения, то это тем, что позволяют настроить веб-сервер под 1С-Битрикс, не обладая глубокими знаниями по администрированию Linux. А для тех, кто разбирается, сократить время на рутинные операции по настройке сервера. Теоретически, вам вообще нет необходимости выходить из оболочки веб-окружения, все должно делается ее средствами. На практике, конечно, это не совсем так, но для быстрого запуска веб-сервера, это отличное решение. Давайте все же немного разберемся с настройками и создадим среду для сайта, куда развернем Битрикс: Управление Сайтом (БУС). Первым делом нам надо создать Menengment pool (управляемую среду). Для этого выбираем пункт 1 меню (жмем цифру 1 и
). Запустится мастер который попросит вас ввести FQDN адрес вашего сайта. Вводите имя вашего домена без www, http и т.п. Т.к. я настраиваю в локальной виртуальной среде, у меня это будет mysite.local.
Создаем управляемую среду (Managment pool) в веб-окружении Битрикс.
После этого в главном меню добавится значительное число пунктов.
Главное меню, после создания пула
Собственно, на этом можно было бы и остановится, если вы перейдете по адресу, который вы задали для среды, то увидите следующее:
Среда создана, можно ставить Битрикс
Т.е. вполне можете разворачивать свой Битрикс с нуля или из резервной копии. Давайте еще немного помучаем меню веб-окружения и посмотрим, чего полезного надо сделать.
Настройка почты
- Enter from address (ex. bob@example.org): указываем адрес от имени которого будет происходить рассылка, желательно указывать существующий;
-
Enter server address or DNS (127.0.0.1): оставляем как указано и жмем
;
- Enter server port (25): то же оставляем как есть;
-
Do you want to use SMTP authentication on the 127.0.0.1:25? (N|y) – нет, спасибо. Вводим
;
-
Do you need TLS enable for 127.0.0.1:25 (n|Y): то же нет, вводим
.
Собственно все видно на скриншоте:
Настраиваем почту
В Битрикс, запускаем “Проверку системы” и убеждаемся, что все в порядке:
Почта работает
Надеюсь, вы понимаете, что к отправленной таким образом почте будет крайне мало доверия. Поэтому рекомендую настраивать почту через реальный SMTP сервер с аутентификацией и настроенным DKIM. И ещё один момент – почтовый лог пишется в
Включаем memcached
В главном меню переходим к пункту
. И затем
. Затем вводим имя хоста для которого будет запущен сервис. В нашем случае он у нас один.
Включаем memcached для Битрикс: Веб-окружение
Собственно все – как видно на скрине, все запущено. Жмем Enter для возврата в предыдущее меню. После этого не забудьте включить поддержку memcached в Битрикс – как описано в официальной документации.
Включаем sphinx
Аналогично добавим для Битрикс поддержку полнотекстового поиска через sphinx. Выбираем
, затем
Здесь нам надо сначала ввести имя хоста, а затем имя базы данных, с которой будет работать sphinx. На запрос переиндексации соглашайтесь (Битрикс должен быть уже установлен и БД не пустая).
Включаем sphinx
Как всегда с Битрикс, есть особенности. Если модуль “Поиск” меньше версии 17.0.0 то будете получать сообщение “Ошибка подключения к серверу Sphinx: Расширение MySql не установлено”.
Ну и последнее,
Как отключить автоматический запуск меню Веб-окружения при логине
Выходим из меню веб-окружения в консоль сервера (
). И в файле
комментируем последнюю строку, где скрипт меню и вызывается:
export PATH #bitrix-env export BITRIX_VA_VER=7.0.1 #menu #~/menu.sh — вызов меню при старте сесии
1 2 3 4 5 6 |
export PATH #bitrix-env export BITRIX_VA_VER=7.0.1 |
Выводы
Итак, мы с вами рассмотрели часто используемый оптимизаторами функционал в рамках системы 1С-Битрикс. Очень мало систем управления могут похвастаться таким широким инструментарием из коробки. В связи с чем цена Битрикса становится более чем оправданной, а в перспективе вам удастся даже сильно сэкономить на времени работы специалистов, менеджеров, разработчиков.
Мифы о медленной скорости Битрикса, к счастью для владельцев данной системы управления, не являются правдой, но к этому вопросу нужно подойти очень ответственно:
- Подберите оптимизированный функциональный шаблон. Всегда помните, что скупой платит дважды. Выбирайте варианты, которые имеют высокую скорость загрузки, большой набор настроек, микроразметку и другие полезные инструменты. В перспективе более дорогой шаблон с данным функционалом из коробки обойдется вам дешевле, чем доработка дешевого шаблона.
- Подберите хостинг или сервер, подходящий под ваши требования: объем каталога, количество визитов, нагрузка, которую дают используемые на страницах внешние плагины и компоненты.
- Не экономьте на разработчиках. Выбирайте ответственных сертифицированных специалистов, которые будут вносить доработки именно в шаблоны без кастомизации непосредственно ядра. Обязательно уточняйте, будут ли внесенные изменения перетираться при обновлении системы управления и шаблона.
Очень часто бывает так, что заказчики или специалисты не знают особенностей системы управления, из-за чего ставят различные модули и костыли, которые полностью или частично дублируют типовой функционал. Это сильно усложняет работу, поэтому прежде чем поставить что-либо из Маркетплейса, обязательно узнайте, вдруг это уже есть в вашей редакции.
Если вам все-таки не хватает какого-либо функционала, скорее всего он уже есть среди готовых решений в Маркетплейсе.
И в заключении хочу сказать, что в плане работы для SEO-специалиста Битрикса — самая удобная платформа. Это по нашей личной статистике.
Спасибо за внимание и до связи!