Pull to refresh

Comments 35

Панель, которую вы используете, называется ISPmanager и только так, а не ISPManager или ISP Manager )
Честно говоря, хотелось бы видеть больше о работе данного скрипта, то есть не только номера строк, а еще и код в статье, а не просто «запустите», на боевом сервере я бы побоялся так делать.
Панель, которую вы используете, называется ISPmanager и только так, а не ISPManager или ISP Manager )


спасибо, исправил!

Честно говоря, хотелось бы видеть больше о работе данного скрипта, то есть не только номера строк, а еще и код в статье


да, это действительно было-бы здорово, но, основной скрипт «isp_patch_V0.1.sh» неотделим от содержимого архива «patch_filesV0.1.zip» и для полного раскрытия их содержимого формат «статьи» не очень удобен на мой взгляд.

а не просто «запустите», на боевом сервере я бы побоялся так делать.


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

Я надеюсь, что у меня будет возможность в ближайшем будущем продолжить работу над проектом, допилить тот функционал, которого сейчас нет, оформить это всё дело в виде приложения для ISPmanager и, возможно, развернуть простенькую страничку с wiki, посещённую проекту. Пока что решил начать со статьи, узнать, насколько людям интересна такая разработка.

Если кому-то интересно пообщаться на данную тематику подробнее прямо сейчас, можно связаться со мной через личные сообщения — я буду только рад
memory_limit = 512M

Это просто край…
— Мой скрипт отжирает огромное количество памяти и хоумпага падает. Что делать?
— Накинь скрипту побольше памяти!
спасибо за ваше замечание. Я лишь руководствовался официальной рекомендацией 1С-Битрикс, которое звучит как:
Фактическое ограничение памяти: Не менее 256 М


В проектах, на которых я работаю, оперативной памяти в избытки и мы можем позволить себе

memory_limit = 512M


В том числе, ради дополнительного уровня отказоустойчивости. Но это вовсе не означает, что на проектах не проводится регулярный аудит кода и нет детального мониторинга, в том числе по потреблению оперативной памяти php скриптами

В своей статье я подчеркнул важность изменения некоторых параметров и конфигов «под себя», возможно, в вашем случае, действительно memory_limit стоит установить в меньшее значение.
к сожалению не нашёл ваших публикаций на Хабре. Можете скинуть пример, на который, по вашему мнению, стоит ориентироваться при написании подобных этой статей?
Простите, но зачем это все?
Почему нельзя взать инсталлер Битрикса как любой другой cms и развернуть на хосте в нужном месте будь то корень домена или любой другой каталог?
В моем понимании все эти «готовые виртуальные машины с %systemname%» хороши только в одном случае — для быстрого прототипирования и показа заказчику. Во всех остальных случаях нужно готовить хост согласно привычке/снадартам/лучщим практикам и ставить на него нудные системы. Или вообще использовать докер.
Большое спасибо за ваши вопросы, постараюсь на них ответить

ответ на ваш вопрос
Простите, но зачем это все?

под моим самым первым заголовком
А зачем?
Почему нельзя взать инсталлер Битрикса как любой другой cms и развернуть на хосте в нужном месте будь то корень домена или любой другой каталог?

именно это и происходит в статье, смотрите текст сразу после
Осталось только развернуть сайт на свежем домене
В моем понимании все эти «готовые виртуальные машины с %systemname%» хороши только в одном случае — для быстрого прототипирования и показа заказчику.

Это лишь одно из преимуществ готовых виртуальных машин. Смысл работы, проделанной мной, это использование преимуществ Битрикс-окружения, которое разрабатывается и поддерживается компанией 1С-Битрикс. А именно из преимуществ:
  • необходимые параметры и настройка nginx,apache,mysql и других составляющих веб-сервера для корректной работы всех фич битрикса
  • установка всех необходимых дополнительных пакетов, необходимых для корректной работы всех фич битрикса
  • обеспечение максимальной безопасности веб-проектов

вместе с продуктом ISPmanager, который даёт вам удобный веб-интерфейс для управления проектами, FTP-аккаунтами и серверов в целом.
Для тех, кто не очень ознакомлен с вопросом, сразу вначале статьи я оставил ссылку «1С-Битрикс: Веб-окружение» — Linux
и ссылку на официальный сайт ISPmanager
Во всех остальных случаях нужно готовить хост согласно привычке/снадартам/лучщим практикам и ставить на него нудные системы.

Абсолютно с вами согласен. Эта статья преследует именно эти цели. Я рассказываю о том, как настроить свой хостинг под стандарты, данные разработчиками 1С-Битрикс, которые основываются на практике использования своих продуктов, но при этом не использовать полностью то окружение, которые они предоставляют.

Если ваш вопрос «зачем это статья», то надеюсь я ответил. Если ваш вопрос — зачем нужные готовые веб-окружения, то эта статья затрагивает данных вопрос лишь частично, поэтому вступать в дискуссию на эту тему в рамках комментариев я не буду.

P.S.
Или вообще использовать докер.
к сожалению, я не знаю, что такое «докер».

Очень надеялся что будет интеграция с ISPmanager. Жаль что это не описано. Всё, что делает ваш скрипт уже давно вручную настроено.
если вы имеете ввиду интеграцию в виде «Приложения», чтобы автоматически БД создавалась и всё прописовалась в конфиги сгенерированного дистрибутива, то это планируется довольно скоро в следующем обновлении

Или интересует что-то ещё?
Интересует чтобы пользователь мог сам выбирать шаблон что в этом проекте стоит битрикс и подключались уже файлы с нужными настройками битрикса.
именно это я и имел ввиду, постараюсь скоро запилить
Тогда жду! Подобное делал на VESTA там просто выбор у пользователя просто апач или апач с настройками для битрикса, а вот как и где подобное в ISPmanager сделать я пока не нашёл (хотя признаюсь плохо искал, времени нет всё).
Добрый день. Спасибо за статью. Я пытаюсь перенести сайт на VPS с ISP manager 5 и ничего не выходит. Сначала поставил, но то 502 то 403 ошибки. Решил все удалить, сделать оптимизацию Вашими скриптами и теперь получаю ошибку на начальном этапе: «В режиме Apache MPM-ITK скрипт restore.php выдаёт ошибку, информация по ней в разделе «Важная информация»»

Как ее побороть? Заранее благодарен!

p.s. если убираю строки из конфигов httpd/nginx то этой ошибки нет.
Закоментировал в bx/bx_apache.conf строку "#php_admin_value short_open_tag «On» и все пошло.
Битриксовые сайты всё-таки рекомендуют выставлять short_open_tag в значение On

А почему на начальном этапе ошибка я писал в статье =)

Битриксовый скрипт restore.php в режиме Apache MPM-ITK падает с ошибкой short_open_tag parameter must be turned on in php.ini
Происходит это из-за неправильно использования условия if в этом скрипте. Проблема существует, потому что во всех остальных режимах php она не модулируется, но я уже связался с разработчиками 1С-Битрикс и они должны будут исправить проблему (другой вопрос когда они это сделают). Если кого-то интересуют подробности бага — отвечу в комментариях

Пока что, в качестве временного фикса, используем для восстановления сайта дистрибутив из прикреплённого к статье архиву.
в php.ini итак стоит «On», поэтому когда закоментировал строку в конфиге все заработало.

Дистрибутив из архива не годится, ибо я восстанавливаю бекап.

Что то сайт медленно работает…
в php.ini итак стоит «On», поэтому когда закоментировал строку в конфиге все заработало.

вы уверенны, что в phpinfo(); short_open_tag показывается как включённый?

настройка в bx/bx_apache.conf ничем не должна отличаться от php.ini и вызывать каких-то проблем…

Что то сайт медленно работает…


Штатная битриксовая проверка производительности сайта что показывала при этом?
да абсолютно уверен, проверял через php info и даже вырезал из restore.php проверку на переменную, пока из bx_apache.conf не закомментировал строку, он считал что тег выключен. Причем если делаешь echo ini_set('short_open_tag') то скрипт выводит On, но при проверке через if выдает ошибку. Повторюсь что выключение строки из конфига помогло.

Штатная показывает 1.65сек, мол медленно, в панели производительности все оптимально, xcache стоит.
по первому пункту большое спасибо за подробное описание

вот мой тикет в битрикс, где они признали баг
Здравствуйте, у меня Apache работает в режиме MPM-ITK

и скрипт restore.php вываливается с ошибкой
short_open_tag parameter must be turned on in php.ini

несмотря на то, что в php.ini я выставляю
short_open_tag = On (пробовал short_open_tag = 1)

и значение применяется как на Master так и на Local value (видно через phpinfo)

Дело в том, что в скрипте restore.php срабатывает условие вхождения в самый первый if

if (ini_get('short_open_tag') == 0)

для PHP в режимах CLI, CGI и Prefork ini_get('short_open_tag') возвращает строку(string) «1», php приводит значение «1» типа string в числовой тип, сравнивает число 1 с числом 0 и скрипт продолжает своё выполнение нормально, так как if (false)

php.net/manual/ru/function.ini-get.php (string ini_get ( string $varname ))
php.net/manual/ru/language.operators.comparison.php ( == принудительно делает преобразование типов)

но PHP в режиме MPM-ITK ini_get('short_open_tag') возвращает строку On и после приведения типов sting On это int 0
соответственно if (true) и скрипт завершает работу

И так, два вопроса

1) Возможно ли рассмотрения изменения условий проверки этих условий в отделе разработки. Возможно можно было бы сделать так или так

if (ini_get('short_open_tag') === 0)
if (ini_get('short_open_tag') == «0»)

2) Могу ли я как-то обойти эту проверку, чтобы воспользоваться скриптом? Если я меняю скрипт restore.php руками, то он автоматически скачивается снова и мои правки затираются.


Штатная показывает 1.65сек, мол медленно, в панели производительности все оптимально, xcache стоит.

именно xcache, а не opcache?
на старом хостинге в районе 0.9с показывал, а тут 1.6-1.7с. Явно что то не то настроено
странно, если запускать мои скрипты на чистом centos 6.6 + ispmanager 5 + nginx — то должен вставать opcache, взяться xcache там неоткуда O_O

вот один из довольно «тяжёлых» сайтов на сервере, развёрнутом по этой статье

Скрытый текст



xcache удалил, поставил opcache т.к. php 5.4. Сразу оценка производительности стала 26 вместо 6.0
ага, спасибо! осталось с базой что то сделать, оптимизировать как-то, а то медленно работает
оптимизировать можно не только саму базу, но и запросы к ней, мне когда-то очень помог курс Индексы

еще момент:
/bitrix/.settings.php
'cache' =>
array (
'value' =>
array (
'type' =>
array (
'class_name' => 'CPHPCacheMemcacheCluster',
'extension' => 'memcache',
'required_file' => 'modules/cluster/classes/general/memcache_cache.php',
),
),
'readonly' => false,
),


Это нормально? Или не верно?
так можно, руки у этого дела растут из штатной фичи в админке «Кластер» которая называется (или как-то так)

я обычно настраивал через файлик .settings_extra.php
развернул сабж на новом сервере. nginx не запускается. Сначала ругался на кучу дублей в конфиге, а потом

service nginx restart
nginx: [emerg] unknown «proxyserver» variable
nginx: configuration file /etc/nginx/nginx.conf test failed

пришлось закоментить строку
#include bx/push.conf;

Почему так?
Перед запуском моих скриптов nginx через ispmanager устанавливали?
к сожалению сейчас я не занимаюсь поддержкой и обновлением данного решения, так как более не работаю в Эм Си Арт
Sign up to leave a comment.

Articles