Меню Рубрики

Установка centos и bitrix окружения memcached

Trofimov Digital

Memcached — программное обеспечение, которое используется для кэширования данных, требующих при генерации большого количества ресурсов.

Использование memcached для 1С-Битрикс повысит производительность, уменьшит время отклика сервера, а страницы сайта будут загружаться быстрее.

Установка memcached

Если используете 1С-Битрикс: Веб-окружение, то memcached и уже установлен. Его необходимо включить залогинившись в BitrixEnv на сервере выбрав в меню Configure Memcahed service for the pool. Затем переходите к конфигурации memcached.

Если же memcached не установлен или вы используете не стандартное веб-окружение, установите его на сервер. В CentOS это делается так:

Далее добавьте memcached в автозагрузку.

Установите библиотеку php-memcache (в 1С-Битрикс: Веб-окружение модуль уже подключён).

Затем перезагрузите apache.

Конфигурация memcached

Файле /etc/sysconfig/memcached задайте следующие параметры (если нет причин использовать иное):

Примечание: параметры MAXCONN (количество одновременных подключений, по умолчанию 1024), CACHESIZE (объем памяти для кэша, по умолчанию 64MB) подбираются экспериментальным путем в зависимости от характера нагрузки и от имеющихся ресурсов. Оценить объем памяти, необходимой для кэширования (параметр CACHESIZE), можно по размеру вашего файлового кэша. Если на проекте файловый кэш занимает 3 GB, то использование memcached c 256МБ памяти не будет эффективным за счет частого вытеснения.

Options:
«-t 8» — количество потоков memcached (по умолчанию 4);
«-U 0» — порт для UDP, 0 — отключен;
«-l 127.0.0.1» — обязательно убедитесь, что параметр -l содержит адрес 127.0.0.1. Он разрешает подключение к memcached только с локального интерфейса и делает его уязвимым для amplification атак из сети.

После настройки memcaсhed перезапустите его:

Настройка memcached в 1С-Битрикс

Чтобы 1С-Битрикс стал использовать memcached нужно внести изменения в конфигурационные файлы.

В файле /bitrix/php_interface/dbconn.php

И в файле /bitrix/.settings_extra.php (если его нет, то создать)

Вместо файла settings_extra.php секцию с memcache можно добавить в файл /bitrix/.settings.php

Убедиться, что 1С-Битрикс подключился к memcached можно панели производительности http://вашсайт.ru/bitrix/admin/perfmon_panel.php

Как очистить кэш memcached

Если понадобится очистить кэш memcached это можно сделать. Самый простой способ — telnet.

Ссылки

На этом всё. Но вы можете помочь проекту. Обещаю писать больше полезных статей.

А если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.

источник

Установка centos и bitrix окружения memcached

Курс предназначен для организаций, предоставляющих услуги хостинга и желающих получить компетенцию Рекомендуемый хостинг.

В курсе рассматриваются требования платформы Bitrix Framework к хостингу, вопросы установки, настройки продукта а также вопросы инструментов и методов оптимизации серверов и баз данных для работы с системой

Для хостеров не является обязательным, но рекомендуется изучение курсов Контент-менеджер и Администратор. Базовый для получения более полного представления о возможностях системы и способах работы с ней.

Рекомендуется ознакомиться с опытом настройки и тестирования серверов в блогах Александра Демидова и Дениса Шаромова, а так же с отзывами клиентов о хостингах в группе Черный и белый список хостингов социальной сети компании «1С-Битрикс».

Если ваш хостинг на Windows, то вам может быть полезна группа 1С-Битрикс на платформе Windows Server 2008 в социальной сети сайта «1С-Битрикс». В ней пользователи делятся опытом работы системы на IIS 7.

После изучения курса вам будет предложено пройти тесты на сертификацию. При успешной сдаче линейки тестов на странице Моё обучение можно просмотреть результат обучения и загрузить сертификат в формате PDF.

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

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

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

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

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

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

источник

“Битрикс: Веб-окружение” – установка и настройка

В начале этого года Битрикс выпустили новую, седьмую, версию своего “Веб-окружения”. Самое главное – теперь официально поддерживается установка на CentOS 7 и php 7. Небольшое пояснение, если вы не в курсе. «1С-Битрикс: Веб-окружение» – это готовая среда с предустановленным рекомендуемым набором программного обеспечения, необходимого для корректной работы CMS 1С-Битрикс. Поставляется как в большом многообразии – есть готовые образа для различной виртуализации (подробнее см. на официальном сайте) и установочный скрипт для установки на сервер. Вот работу с последним мы и рассмотрим.

Читайте также:  Установка программ для meego

Что получим

Веб-окружение позиционируется, как лучшее решение для всей линейки продуктов Битрикс – как для всех редакций “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’ом и далее подразумевается, что мы находимся в /root . Если нет, перейдите выполнив:

источник

Предложение от 8host.com

Установка и защита Memcached в CentOS 7

Системы кэширования объектов памяти, такие как Memcached, могут оптимизировать производительность базы данных, временно сохраняя часто запрашиваемые или недавно извлеченные записи в памяти. Таким образом, они уменьшают количество прямых запросов к базам данных.

Поскольку такие системы, как Memcached, при неправильной настройке подвергают сервер dos-атакам, важно заранее обеспечить безопасность серверов Memcached. В этом руководстве вы узнаете, как защитить сервер Memcached, привязав установку к локальному или частному сетевому интерфейсу и создав авторизованного пользователя для экземпляра Memcached.

Требования

Для работы вам понадобится:

Установка Memcached из официального репозитория

Если система Memcached еще не установлена на сервере, вы можете установить ее из официальных репозиториев CentOS. Во-первых, обновите локальный индекс пакетов:

Затем установите официальный пакет:

sudo yum install memcached

Также можно установить libmemcached-tools, библиотеку, которая предоставляет несколько инструментов для работы с сервером Memcached:

sudo yum install libmemcached

Теперь Memcached установлен как сервис, а еще на сервере есть инструменты, которые позволят вам проверить его возможности подключения. Можно перейти к конфигурации.

Защита Memcached

Чтобы убедиться, что экземпляр Memcached прослушивает локальный интерфейс 127.0.0.1, нужно проверить настройку по умолчанию в конфигурационном файле /etc/sysconfig/memcached, а также отключить прослушиватель UDP. Эти действия защитят сервер от атак типа «отказ в обслуживании».

Откройте файл /etc/sysconfig/memcached:

sudo vi /etc/sysconfig/memcached

Найдите переменную OPTIONS:

Подключение к локальному сетевому интерфейсу ограничит трафик клиентами одной машины. Для этого нужно добавить -l 127.0.0.1 в переменную OPTIONS. Это ограничение может быть слишком строгим для определенных сред, но это будет хорошим началом в настройке безопасности.

Поскольку протокол UDP используется в dos атаках намного эффективнее, чем TCP, также можно отключить прослушиватель UDP. Для этого добавьте параметр -U 0 в переменную OPTIONS. В результате файл должен выглядеть следующим образом:

PORT=»11211″
USER=»memcached»
MAXCONN=»1024″
CACHESIZE=»64″
OPTIONS=»-l 127.0.0.1 -U 0″

Сохраните и закройте файл.

Перезапустите сервис Memcached:

sudo systemctl restart memcached

Убедитесь, что Memcached привязан к локальному интерфейсу и прослушивает только TCP-соединения:

sudo netstat -plunt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
. . .
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 2383/memcached
. . .

Читайте также:  Установка the dude server ubuntu server

Это подтверждает, что memcached привязан к адресу 127.0.0.1 и использует только TCP.

Добавление авторизованных пользователей

Чтобы добавить авторизованных пользователей в Memcached, можно использовать Simple Authentication and Security Layer (SASL), структуру, которая изолирует процедуру аутентификации из протоколов приложений. Включите SASL в конфигурационном файле Memcached, а затем добавьте пользователя с учетными данными для аутентификации.

Поддержка SASL

Сначала нужно проверить подключение экземпляра Memcached с помощью команды memcstat. Это поможет подтвердить, что SASL и аутентификация пользователей включены после внесения изменений в конфигурации.

Чтобы убедиться, что Memcached запущен и работает, введите следующее:

memstat —servers=»127.0.0.1″
Server: 127.0.0.1 (11211)
pid: 3831
uptime: 9
time: 1520028517
version: 1.4.25
. . .

Теперь можно включить SASL. Во-первых, нужно добавить параметр -S в переменную OPTIONS в /etc/sysconfig/memcached.conf. Откройте файл еще раз:

sudo vi /etc/sysconfig/memcached

Добавьте в переменную OPTIONS параметры -S и –vv. Последний предоставит подробный вывод в /var/log/memcached, что пригодится при устранении неполадок.

Строка должна выглядеть так:

Сохраните и закройте файл.

Перезапустите сервис Memcached:

sudo systemctl restart memcached

Затем нужно взглянуть на логи, чтобы убедиться, что поддержка SASL включена:

sudo journalctl -u memcached

Вы должны увидеть следующую строку, которая подтверждает поддержку SASL:

. . .
Mar 05 18:16:11 memcached-server memcached[3846]: Initialized SASL.
. . .

Теперь можно снова проверить подключение, но после включения поддержки SASL эта команда должна вернуть ошибку без аутентификации:

Эта команда не показывает результат на экране. Введите следующее, чтобы проверить ее статус:

$? всегда будет возвращать код вывода последней завершенной команды. Как правило, любой ответ, кроме 0, указывает на сбой процесса. В этом случае вы должны увидеть статус выхода 1, что значит, что команда memcstat была выполнена неправильно.

Создание пользователя

Теперь нужно загрузить два пакета, которые обеспечивают работу с Cyrus SASL Library и механизмами аутентификации, включая плагины, поддерживающие схемы аутентификации PLAIN. Пакеты cyrus-sasl-devel и cyrus-sasl-plain позволят вам создать пользователя и пройти аутентификацию. Установите пакеты:

sudo yum install cyrus-sasl-devel cyrus-sasl-plain

Затем нужно создать каталог и файл, где Memcached будет проверять параметры конфигурации SASL.

sudo mkdir -p /etc/sasl2
sudo vi /etc/sasl2/memcached.conf

Добавьте следующее в файл:

mech_list: plain
log_level: 5
sasldb_path: /etc/sasl2/memcached-sasldb2

Кроме уровня логирования здесь нужно указать параметр mech_list и присвоить ему значение plain, благодаря чему Memcached сможет использовать свой собственный файл паролей и проверять пароли в виде простого текста. Также нужно указать путь к файлу базы данных пользователя, который будет создан далее. Сохраните и закройте файл.

Теперь нужно создать базу данных SASL с учетными данными пользователя. Используйте команду saslpasswd2, чтобы сделать новую запись для пользователя в базе данных с помощью опции -c. Здесь пользователь условно называется 8host, но вы можете заменить это имя. Используя опцию -f, можно указать путь к базе данных (путь, который вы указали в каталоге /etc/sasl2/memcached.conf):

sudo saslpasswd2 -a memcached -c -f /etc/sasl2/memcached-sasldb2 8host

Теперь передайте пользователю memcache права на БД SASL.

sudo chown memcached:memcached /etc/sasl2/memcached-sasldb2

Перезапустите сервис Memcached:

sudo systemctl restart memcached

Команда memcstat снова подтвердит, сработал ли процесс аутентификации. На этот раз запустите команду с учетными данными:

memstat —servers=»127.0.0.1″ —username=8host —password=your_password

Server: 127.0.0.1 (11211)
pid: 3831
uptime: 9
time: 1520028517
version: 1.4.25
. . .

Теперь сервис Memcached поддерживает SASL и аутентификацию пользователей.

Настройка доступа по частной сети

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

Ограничение доступа по IP-адресу в брандмауэре

Прежде чем приступить к конфигурации, рекомендуется настроить правила брандмауэра, чтобы ограничить доступ к серверу Memcached. Если вы выполнили мануал по установке и настройке FirewallD и не планируете подключаться к Memcached с другого хоста, вам не нужно менять правила брандмауэра. Ваш автономный экземпляр Memcached должен прослушивать 127.0.0.1 благодаря переменной OPTIONS, которую вы определили ранее, и поэтому беспокоиться о входящем трафике не нужно. Однако если вы планируете разрешить доступ к вашему серверу Memcached с других хостов, вам нужно будет внести изменения в настройки брандмауэра с помощью команды firewall-cmd.

Для начала добавьте выделенную зону Memcached в политику firewalld:

Читайте также:  Установка датчика детонации на мазда 3

sudo firewall-cmd —permanent —new-zone=memcached

Затем укажите порт, который нужно открыть. По умолчанию Memcached использует 11211.

sudo firewall-cmd —permanent —zone=memcached —add-port=11211/tcp

Затем укажите внутренние IP-адреса клиентов, которые должны иметь доступ к Memcached.

sudo firewall-cmd —permanent —zone=memcached —add-source=client_server_private_IP

Чтобы обновить правила, перезапустите брандмауэр:

Пакеты, поступающие с IP-адреса клиента, теперь должны обрабатываться в соответствии с правилами в выделенной зоне Memcached. Все остальные соединения будут обрабатываться в зоне по умолчанию public.

После этого можно привязать Memcached к интерфейсу частной сети.

Настройка Memcached для поддержки интерфейса частной сети

Теперь, когда брандмауэр готов, вы можете привязать Memcached к частному интерфейсу сервера вместо 127.0.0.1, отредактировав переменную OPTIONS.

sudo vi /etc/sysconfig/memcached

Внутри найдите переменную OPTIONS. Теперь нужно изменить -l 127.0.0.1 и указать внутренний IP-адрес сервера Memcached:

. . .
OPTIONS=»-l memcached_servers_private_IP -U 0 -S -vv»

Сохраните и закройте файл.

sudo systemctl restart memcached

Убедитесь, что все работает правильно, с помощью команды netstat:

sudo netstat -plunt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
. . .
tcp 0 0 memcached_servers_private_IP:11211 0.0.0.0:* LISTEN 2383/memcached
. . .

Проверьте подключение с внешнего клиента, чтобы убедиться, что вы все еще можете получить доступ к сервису. Рекомендуется также проверить доступ с неавторизованного клиента, чтобы убедиться, что брандмауэр не пропустит соединение.

Заключение

Теперь вы умеете устанавливать Memcached и обеспечивать безопасность этого сервиса.

Чтобы узнать больше о Memcached, ознакомьтесь с документацией проекта.

источник

Настройка memcached через unix-сокеты в BitrixVM

Евгений Неверов

Практически все проекты на Битриксе (и сайты и корпоративные порталы) рекомендуется устанавливать на VPS или выделенные серверы и обязательно в веб-окружение BitrixVM.

Как пишут сами Битриксы на своём сайте, BitrixVM специально сконфигурирована для быстрого исполнения программных продуктов «1С-Битрикс»: разворачивается за минуты и сразу же готова к работе.

Однако по-умолчанию в виртуальной машине и в самом Битриксе установлена настройка кэширования данных в файловой системе. В современных реалиях с SSD-дисками (особенно NVMe) файловый кэш будет работать достаточно быстро, но всё же гораздо медленнее, чем из оперативной памяти.

Другая проблема заключается в том, что при неправильно настроенном кэшировании вы можете файлами кэша забить всю файловую систему: дальше у вас либо кончится место на диске, либо свободные inodes файловой системы. После этого ваш сайт перестанет открываться с ошибкой MySQL «Got error 122 from storage engine» (об этом мы расскажем в другой статье).

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

Устанавливаем memcached

Установить его проще всего через панель инструментов, которая поставляется вместе с виртуальной машиной:

По-умолчанию memcached устанавливается на локальную машину и даёт возможность подключаться через TCP-сокеты (через 11211 порт по-умолчанию). Это не самый производительный способ, поэтому лучше memcached перевести на работу через unix-сокет.

Настройка работы через unix socket

Настройки демона memcached в CentOS 7.5 находятся в файле /etc/sysconfig/memcached. Его содержимое по-умолчанию выглядит следующим образом:

Необходимо изменить параметры на следующие:

PORT=»0″ позволяет отключить прослушивание TCP-сокета.
USER=»bitrix» задаёт владельца сокет-файла, который мы собираемся создать. Никто, кроме владельца, не сможет читать и писать что-либо в сокет.
CACHESIZE=»64″ мы оставили как есть, однако в этом параметре вы можете указать количество памяти (в мегабайтах), которое хотите выделить для кэша.
OPTIONS — это основные настройки создания сокет-файла, их две:
-s /tmp/memcached.sock задаёт путь и имя будущего файла сокета
-a 0600 определяет права доступа к файлу

После внесения изменений необходимо перезапустить memcached командой:

systemctl restart memcached

Последнее, что нужно сделать, чтобы Битрикс стал писать кэш в memcached, а не в файлы — это внести изменения в файл /bitrix/.settings.php, добавив туда ключ:

Убедиться, что всё настроено верно, можно в панели управления Битрикса: Настройки → Производительность → Панель производительности.

На вкладке «Битрикс» в графе «Хранение кэша» должно стоять значение «memcache»:

Топ 5 проблем интернет-магазинов

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

.gitignore для Битрикса

Избавляемся от ненужной информации в системе контроля версий с помощью настройки файла .gitignore

источник

Добавить комментарий

Adblock
detector