Дополнительно: включение модуля pagespeed nginx в Веб Окружении Битрикс
Внутри новых сборок Битрикс веб окружение, nginx собран с модулем pagespeed- модуль для Web-серверов Apache и Nginx, который представляет из себя набор фильтров реализующих выполнение требований Speed Insights
Что бы им воспользоваться, достаточно добавить в конфигурационный файл nginx (/etc/nginx/nginx.conf) следующие строчки:
#включение модуля
pagespeed on;
#путь хранения кеша создастся сам
pagespeed FileCachePath /var/cache/nginx;
Далее, можно дописывать и применять необходимые фильтр. Тут, нужно подстраиваться под конкретный проект и необходимые требования.
Приведу конфигурацию, которую (в пробном режиме) использую на своем сайте:
Тут я использовал заготовку CoreFilters - в принципе, в ней уже все есть. И дополнительно дожал фильтрами на сжатие css/js/html удаление комментариев, конвертирование в webp
PS: Не обязательно добавлять именно в /etc/nginx/nginx.conf. Если нужно только на одном сайте, добавляйте в его виртуальный хост
Ускорение сайта без mod_pagespeed
Данная статья написана специально под видеоролик (приложен в конце статьи), опубликованный на моем ютуб канале: "Ускорение работы сайта на 1С-Битрикс".
Ниже, в виде тезисного плана видео, описан процесс оптимизации разработанного сайта, перед запуском. В качестве инструмента замеров и аудита используется Lighthouse - инструмент встроенный Chrome DevTools. Используемая редакци 1С-Битрикс: Бизнес.
Пробегаемся по остаткам, которые возможно оптимизировать
Текстовый файл с использованными настройками и комадами
Скачать
Видео: Ускорение сайта на Битрикс
13.11.2019
Михаил спасибо за видео. Подскажите пожалуйста, если на битриксе 2 или 3 сайта работают (в режиме многосайтовости) то каким образом прописывать "идентификатор кэш сессий" define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01"); define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#02"); define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#03");
Или просто через запятую? define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01, #02, #03");
Михаил 13.11.2019
Цитата
inq написал: Михаил спасибо за видео. Подскажите пожалуйста, если на битриксе 2 или 3 сайта работают (в режиме многосайтовости) то каким образом прописывать "идентификатор кэш сессий" define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01"); define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#02"); define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#03");
Или просто через запятую? define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01, #02, #03");
Интересный вопрос, что-то ни разу не делал memcached с многосайтовостью. Если рассуждать логически: установка одна, значит достаточно задать один идентификатор, а битрикс должен разрулить на своем уровне. Как минимум разложить кеши всех сайтов по своим "директориям" и не перемешавать.
Наверное: есть резон спросить у ТП Битрикс. Если напишите им- буду благодарен если скопируете ответ сюда)
PS: Я бы не использовал в качестве ID сессий, ID сайтов. Если, на этом сервере появится еще одна установка битрикс (отдельная, вне текущей многосайтовости) - там могут оказаться такие же ID сайтов. Мой метод, с первыми двумя буквами домена, может тоже не идеальный) Но все таки по надежнее. Можно и не две буквы, а целиком домен.
15.11.2019
Цитата
Михаил Базаров написал: Если рассуждать логически: установка одна, значит достаточно задать один идентификатор, а битрикс должен разрулить на своем уровне. Как минимум разложить кеши всех сайтов по своим "директориям" и не перемешавать.
Наверное: есть резон спросить у ТП Битрикс. Если напишите им- буду благодарен если скопируете ответ сюда)
PS: Я бы не использовал в качестве ID сессий, ID сайтов. Если, на этом сервере появится еще одна установка битрикс (отдельная, вне текущей многосайтовости) - там могут оказаться такие же ID сайтов. Мой метод, с первыми двумя буквами домена, может тоже не идеальный) Но все таки по надежнее. Можно и не две буквы, а целиком домен.
Так как файл dbconn.php общий, то и сессии тоже должны быть общие.
ID сессий #01 я взял для пример. Сам использую первые буквы, все завилось, но как только я включил отдачу композитного кэша через ngnix у меня "упал" главный сайт, он просто стал ссылаться на путь www, хотя у меня все сайты лежат в "/ext_www/имя_сайта". Вернул бекап, в понедельник буду разбираться. Вы с подобным не сталкивались, может подскажите куда примерно "копать"?
Кроме создания сайтов, я так же веду блог с заметками о вебразработке, записываю бесплатные
видеоуроки и содержу форум, на котором можно задавать вопросы и просто общаться.
Заметки, преимущественно - это короткие или подробные рецепты, по реализации часто требуемого
функционала- в рамках разработки сайтов на 1С-Битрикс