Настроить сервер под битрикс

Настройка сервера Битрикс Веб окружения под требования модулей

Есть вопросы, которые вы не смогли решить по нашим публикациям самостоятельно? Ждем ваше обращение в нашей службе техподдержки!

Наши решения используют дополнительные библиотеки а также требуют дополнительной настройки сервера под высокие нагрузки, чтобы сайт работал стабильно. Например при запуске выгрузок в многопоточном режиме или же каталогов большого размера. Что же надо сделать чтобы настроить типовое окружение Битрикс под ОС Centos 7 для бесперебойной работы наших модулей?

Давайте для начала перечислим конфигурационные файлы в которых проводиться изменение основных настроек сервера под управлением ОС Centos 7 и установленным окружением 1С-Битрикс.

Главным конфигурационным файлом по умолчанию является /etc/rc.d/init.d/bvat — это скрипт автоматической настройки в нем прописаны параметры используемые веб окружением Битрикс для автоматической настройки под имеющиеся физические ресурсы сервера. Данный скрипт удобен в использовании и позволяет в полностью автоматическом режиме применить настройки по умолчанию, задействовав отведенные серверу ресурсы.

Кроме него есть и конфигурационный файл сервера баз данных — /etc/mysql/conf.d/bvat.cnf в котором хранятся переменные сервера MySQL, перечислим рекомендуемые значения при наличии на вашем сервере 64 гигабайт физической памяти:

# memory: 65536MB
[mysqld]
query_cache_type = 1
query_cache_size = 128M
query_cache_limit = 16M
innodb_buffer_pool_size = 18432M
max_connections = 205
table_open_cache = 80392
thread_cache_size = 512
max_heap_table_size = 256M
tmp_table_size = 256M
key_buffer_size = 256M
join_buffer_size = 32M
sort_buffer_size = 32M
bulk_insert_buffer_size = 2M
myisam_sort_buffer_size = 32M

Но как все сделанное человеком, он не может настроить ваш сервер идеально, для тонкой настройки под конкретные рекомендации нужно использовать ручное управление конфигурационными файлами. Но часто под несложные проекты настраиваемых им рекомендуемых параметров MySQL, PHP и Apache в зависимости от ресурсов сервера бывает вполне достаточно, и если у вас не возникает никаких проблем, мы бы порекомендовали не отключать автоматическое конфигурирование.

Но в случаях если возникает необходимость изменить дефолтные настройки которые не подходят данный скрипт можно поправить или же вообще отключить автоматическую настройку сервера. Например, наша практика показывает, что при большом размере базы данных, настройки, сделанные через bvat, могут приводить к падению служб с ошибкой «out of memory» или отказом в обслуживании.

Разработчики BitrixVM предусмотрели возможность изменения настроек без отключения скрипта автонастройки bvat. Для этого необходимо внести изменения в специальные конфигурационные файлы (в случае их отсутствия надо создать соответсвующие по указанным путям):

/etc/php.d/bitrixenv.ini — файл хранящий основные настройки сервера

/etc/httpd/bx/conf/prefork.conf — файл хранящий основные параметры сервера по выделению памяти

/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/im_settings.conf — файл хранящий настройки nginx-push-stream-module

Теперь перечислим основные конфигурационные файлы
/etc/php.ini — файл хранящий настройки PHP
/etc/my.cnf — файл хранящий настройки сервера базы данных MySQL
/etc/nginx/nginx.conf — файл хранящий настройки nginx

дополнительные используемые конфигурационные файлы
/etc/php.d/opcache.ini — файл хранящий настройки используемого акселератора opcache при условии его использования на сервере, кстати очень советуем его использовать так как он ускоряет выполнение PHP путем сохранения скомпилированного кода в памяти, таким образом исключается постоянное выполнение PHP сценария при каждом обращении к коду. Подобное кэширование и оптимизация работы PHP серьезно снижает нагрузку на ресурсы вашего сервера и поднимает его общую производительность.

кроме того есть еще один конфигурационный файл в котором можно переопределить локальные значения для конкретного сайта — /home/bitrix/www/.htaccess или же в доп сайтах /home/bitrix/ext_www/site1.ru/.htaccess и значения переменных PHP указанные в нем будут самые приоритетные в рамках конкретного сайта. Поэтому один из самых простых способов настройки — простая правка файла .htaccess через текстовый редактор файлового менеджера БУС.

Читайте также:  Настрой свою колонку долбаную

Теперь перейдем к установке и настройке дополнительных библиотек, которые используют наши решения, но которые не поставляются в стандартном пакете веб окружения Битрикса. Кстати, если у вас используется не рекомендованное ПО, то заранее хочется посоветовать перейти на использование окружения поставляемого Битриксом, поверьте опыту сэкономите массу нервов и средств на настройке и обслуживании вашего сервера.

Рассматриваем вариант последовательного ввода команд при подключении к серверу по SSH

Установка библиотеки curl в для VMBitrix (CentOS)
yum install curl
echo «extension=curl.so» > /etc/php.d/curl.ini
apachectl graceful

Установка библиотеки xmlwriter в для VMBitrix (CentOS)
yum install php-xml
echo «extension=xmlwriter.so» > /etc/php.d/xmlwriter.ini
apachectl graceful

Установка библиотеки optipng jpegoptim в для VMBitrix (CentOS)
yum -y install optipng jpegoptim

После инсталяции библиотек надо выполнить его полный рестарт
либо же для применения настроек конкретного сервиса, перезагрузить конкретную службу
рестарт апача — systemctl restart httpd.service
рестарт базы данных — service mysqld restart
рестарт nginx — service nginx restart

В данной статье мы постарались собрать максимум конкретики для владельцев сайтов имеющих базовую подготовку в конфигурировании серверов.

Источник

Настройка хостинга для работы с 1С-Битрикс

Настройка хостинга для работы с 1С-Битрикс

Приобретая дорогой тариф на хостинге или арендуя сервер или даже имея свой собственный, бывают ситуации, что заказчики сайта жалуются на медленную скорость работы сайта на 1С-Битрикс, причем версии сайта с демо-данными, т.е. бесплатной триальной 30 дневной версии продукта, которую можно свободно скачать с сайта 1c-bitrix.ru.

Дело в том, что мало хороших характеристик виртуального или физического сервера, программное обеспечение должно быть настроено соответствующим образом, чтобы удовлетворять требованиям 1С-Битрикс. Однако верно и обратное, что настройки, при которых 1С-Битрикс работает быстро, будут хороши и для любой другой системы управления сайтом.

Рассмотрим вариант, когда на сервере в качестве операционной системы выбран Linux.

Какие же требования предъявляются к такому веб-серверу?

Во-первых должен быть установлен php-акселератор (этот программный модуль кеширует скомпилированные php скрипты, которые могут в некомпилированном виде быть весьма большими по объему кода, а затем при запуске проверяет, если скрипты не были модифицированы, то сразу же выполняет их, увеличивая таким образом производительность работы в несколько раз). Пожалуй, не рекомендуется только eAccelerator из-за того, что поддержка продукта не осуществляется.

Рекомендовать же можно APCu, как встроенный в php последних версий модуль, либо opCache, который считается самым производительным.

Неплохо себя зарекомендовали xCache и APC.

Во-вторых необходимо достаточное количество оперативной памяти! Если у вас будет версия продукта 1С-Битрикс Бизнес, то 512 Мб оперативной памяти будут минимальным требованием.

Далее, нужно понять какой тип таблиц MySQL будет использован, рекомендуется использовать INNODB как более надежный вариант, но менее производительный, когда преобладают операции чтения, об этом подробнее поговорим ниже.

Таким образом, считаем, что у нас есть хостинг тариф, например на VDS (виртуальном выделенном сервере), где мы можем настраивать php и MySQL так как нам нужно.

Настройки PHP

Для php нужны следующие настройки, которое мы разберем, и посмотрим, что они означают.

1) Если вы собираетесь устанавливать 1С-Битрикс в кодировке utf-8 (рекомендуется делать именно так), то необходимо, чтобы была указана внутренняя кодировка и перегрузка почтовой и строковых функций (становятся доступны функции с префиксом mb_, например mb_strlen), если же продукт будет установлен в кодировке windows-1251, то эти строки не нужны

2) Эта строка нужна для прохождения теста на корректность работы 1С-Битрикс (длина регулярных выражений)

3) Кеширование реальных путей скриптов, а также время кеширования в секундах

4) Временная зона. В рекомендациях 1С-Битрикс по синхронизации времени указана несколько устаревшая информация, попытка добавлять требуемые строки в файлы настроек системы приводят к неработоспособности продукта, поэтому реально нужна только эта настройка (используйте необходимую именно вам временную зону!) и настройка для базы данных, о чем будет сказано ниже

Читайте также:  Почему может не работать днс сервер

5) Максимальное ограничение на число одновременно передаваемых переменных

6) Настоятельно рекомендуется 1С-Битрикс, чтобы вывод ошибок по-умолчанию был включен. Редактировать настройку вывода ошибки и/или предупреждения можно и нужно в настройках главного модуля 1С-Битрикс в системе администрирования

7) Настройки php-акселератора, например, у вас установлен акселератор APC (настройки для разных акселераторов, естественно будут разные, приведенные ниже настройки, рекомендованы 1С-Битрикс)

8) Ограничение оперативной памяти, выделяемой скриптам, 1 Гб значение, которого вполне хватает для интернет-магазина на редакции Бизнес и нагрузке 2000 уникальных посетителей в сутки. Зависит от редакции, например для редакции Стандарт вполне хватит и 128 Мб.

9) Эти настройки индивидуальные для каждого проекта, отвечают за размер загружаемых файлов через систему администрирования (максимальный размер файла и максимальный размер, передаваемый через формы методом POST)

Важно! После того, как вы настроили php-акселератор, нужно указать его в настройках 1С-Битрикс.

1. /bitrix/php_interface/dbconn.php

Нужно добавить строчки (для акселератора APC):

2. /bitrix/settings.php

Настройки базы данных MySQL

Теперь разберем, что делать с настройкой базы данных.

Считаем, что тип таблиц MySQL у нас INNODB

1) Размер буфера, для INNODB это фактический самая важная настройка, принцип простой, желательно, чтобы размер буфера был >= размер базы данных. Если база данных занимает 1Гб, отлично, если размер буфера будет 1Гб. Конечно, зависит эта настройка от количества оперативной памяти на вашем тарифе/VDS/сервере

2) размер буфера лога, достаточная цифра для большинства проектов

3) отключаем буферизацию таблиц для файловой системы, обращаемся напрямую к файлам базы данных

4) При каждой транзакции база данных MySQL пишет лог, в данном случае каждые 2 секунды, с этим параметром нужно быть осторожнее, он сильно влияет на производительность. Но если в проекте критична очень целостность данных, например, производятся платежи, то здесь такая настройка не нужна.

5) уровень изоляции транзакций, считать данные можно только после проведения транзакции

Тестируем примененые настройки

Напоследок посмотрим разницу показаний монитора производительности 1С-Битрикс, на примере тарифа облачной VDS, с параметрами образ Debian 7 LAMP (Apache + Nginx + MySQL)/2 ядра@2.6 Ггц/1024 Мб/20Гб SAS, php-акселератор APC. Установлена редакция Малый Бизнес.

Источник

marvell / bitrix_server_settings.md

Bitrix: рекомендации по настройке сервера

Двухуровневая структура web-сервера: nginx + apache2. PHP должен быть работать через apache-модуль. Настройки должны быть одинковыми как для apache-модуля, так и для cli.

Пользователи и группы

  • www-data:webdev – под ним работает apache и nginx
  • dev1:webdev — это пользователь ведущего разработчики или менеджера по интеграции, который производит выкладку релизов и решение проблем

Компоненты и их настройки

  • git
  • sendmail (если отправка почты быдет не через SMTP)
  • ports.conf
    • ServerName localhost
    • NameVirtualHost *:8888
    • Listen 8888
  • sites-available/example.conf
  • my.conf
    • innodb_flush_method = O_DIRECT
    • transaction-isolation = READ-COMMITTED
    • innodb_flush_log_at_trx_commit = 2
  • apc
  • curl
  • gd
  • pdo
  • geoip
  • mysqli
  • mysql
  • pdo_mysql
  • mcrypt
  • apache2/php.ini and cli/php.ini
    • mbstring.internal_encoding = UTF-8
    • mbstring.func_overload = 2
    • realpath_cache_size = 4096k
    • display_errors = On
    • post_max_size = 256M
    • upload_max_filesize = 256M
    • max_file_uploads = 30
    • default_socket_timeout = 120
    • date.timezone = Europe/Moscow
  • conf.d/apc.ini
    • apc.enabled = On
    • apc.cache_by_default = On
    • apc.num_files_hint = 20000
    • apc.user_entries_hint = 20000
    • apc.ttl = 86400
    • apc.max_file_size = 4M
    • apc.stat = On
    • apc.shm_size = 128M

This comment has been minimized.

Copy link Quote reply

ghost commented Jul 12, 2016

This comment has been minimized.

Copy link Quote reply

yamaradge commented Oct 18, 2017

Ссылка не рабочая в верхнем комментарии, подскажите такой вопрос по теме, как только начинающему админу: до этого я настраивал серверы, под wordpres и modx, сервер работал на mariadb nginx, сейчас нужно настроить сервер под битрикс, очень много мануалов нашел но везде идёт связка apach+nginx, это обязательный элемент? и в чем плюс работы apach+nginx в отличие скажем от просто nginx если такое возможно.

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Читайте также:  Как настроить голосовой донат donationalerts

Источник

Настроить сервер под битрикс

Не только те разработчики, кто уже год-два работает с крупными проектами с миллионными бюджетами, но и самые обычные средние студии всё чаще сталкиваются с заказами, проектами, которые подразумевают сотни тысяч, а то и миллионы хитов в день. Как правило, это современные интернет-магазины с очень большой номенклатурой товаров (например, магазин с 500 000 карточек товаров и 3 млн SKU) . Но могут быть и информационные и корпоративные проекты. Всё это надо как-то уметь проектировать, обслуживать, как-то с этим работать.

Создание проекта веб-студией надо рассматривать с двух сторон: с позиции менеджера и с технической. Игнорирование любой из них с высокой долей вероятности ведёт к провалу заказа. На практике, особенно в небольшой студии, развести эти моменты бывает достаточно сложно, так как, например, ведущий программист выступает, как правило, ещё и менеджером проекта. В нашем курсе обе этих стороны будут постоянно пересекаться, но мы постараемся выделять и отделять организационные моменты от технических.

Проблемы перед веб-студиями возникают как только они получают заказ на проект чуть более сложный, чем обычно. Немного более сложный, немного более большой, немного более высоконагруженный. (В рамках Bitrix Framework это означает, что как только запросы клиента выходят за пределы административной части, инфоблоков с контентом, то начинаются сложности.) В этом курсе мы постараемся дать простые методики как выжить в данном случае.

Надо понимать, что сложный проект и высоконагруженный проект — это немного разные вещи. Возможен высоконагруженный проект на штатном функционале CMS. В этом случае требуется, главным образом, настройка серверов. И возможен сложный проект, где требуется большая работа по написанию кода в дополнение к имеющемуся, но проект не подразумевает большого числа посетителей.

В первом случае полезна будет, в первую очередь, глава про эксплуатацию, во втором — глава про разработку.

Цель курса — помочь веб-студиям в организации работ, разработки и эксплуатации проектов. Этот курс — не столько теоретический, сколько практический, он построен на опыте разработки больших и малых, высоконагруженных и простых проектов.

Курс рассматривает вопросы создания высоконагруженных и сложных проектов без привязки к нашим продуктам. Примеры на базе платформы Bitrix Framework, приведённые в курсе, даны как один из вариантов реализации. Всё, что говорится на страницах ниже, можно применить и при работе с другими системами.

На каждой странице курса авторизованный на сайте посетитель может дать комментарий к содержимому страницы. Комментарий — не форум, там не ведётся обсуждений или разъяснений. Это инструмент для сообщений нам об ошибках, неточностях. Для отправки комментария воспользуйтесь расположенной в правом нижнем углу окна браузера кнопкой:

Баллы опыта

В конце каждого урока есть кнопка . При клике на неё в Вашу итоговую таблицу опыта добавляется то количество баллов, которое указано в прочитанном После нажатия кнопки Прочитано! появится
окно подтверждения:

уроке.

Периодически мы заново оцениваем сложность уроков, увеличивая/уменьшая число баллов, поэтому итоговое количество набранных Вами баллов может отличаться от максимально возможного. Не переживайте! Отличный результат — это если общее число набранных Вами баллов отличается от максимального на 1-2%.

Скачать материалы курса в формате CHM. Файлы формата CHM обновляются ежемесячно, тем не менее, возможно некоторое отставание их от онлайновой версии курса.

Чтобы отключить подобное отношение к файлу необходимо:

    перейти в свойства файла на вкладку Общие. Внизу у Вас отобразится сообщение о том, что этот файл был заблокирован системой с целью защиты компьютера.

Отсутствие кнопки Разблокировать возможно в двух случаях:

  1. Файл лежит не локально, а на сетевом ресурсе.
  2. Если файл лежит на локальном диске, но путь к нему содержит спецсимволы (# и прочие).

Источник

Оцените статью