Комментарии 35
Панель, которую вы используете, называется ISPmanager и только так, а не ISPManager или ISP Manager )
Честно говоря, хотелось бы видеть больше о работе данного скрипта, то есть не только номера строк, а еще и код в статье, а не просто «запустите», на боевом сервере я бы побоялся так делать.
Честно говоря, хотелось бы видеть больше о работе данного скрипта, то есть не только номера строк, а еще и код в статье, а не просто «запустите», на боевом сервере я бы побоялся так делать.
+1
Панель, которую вы используете, называется ISPmanager и только так, а не ISPManager или ISP Manager )
спасибо, исправил!
Честно говоря, хотелось бы видеть больше о работе данного скрипта, то есть не только номера строк, а еще и код в статье
да, это действительно было-бы здорово, но, основной скрипт «isp_patch_V0.1.sh» неотделим от содержимого архива «patch_filesV0.1.zip» и для полного раскрытия их содержимого формат «статьи» не очень удобен на мой взгляд.
а не просто «запустите», на боевом сервере я бы побоялся так делать.
именно поэтому я и написал почти в самом начале статьи важные предупреждения. Данная разработка не предназначена для разворота на боевых серверах, уже находящихся в эксплуатации. Но я надеюсь, что содержимое скриптов, конфигов и эта статья существенно поможет кому-то в своей оптимизации ISPmanager под проекты на Битриксе. Например, можно развернуть специальный стенд с моим решением и хорошенько в нём поковыряться, опираясь на данную статью и содержимое приложенных файлов.
Я надеюсь, что у меня будет возможность в ближайшем будущем продолжить работу над проектом, допилить тот функционал, которого сейчас нет, оформить это всё дело в виде приложения для ISPmanager и, возможно, развернуть простенькую страничку с wiki, посещённую проекту. Пока что решил начать со статьи, узнать, насколько людям интересна такая разработка.
Если кому-то интересно пообщаться на данную тематику подробнее прямо сейчас, можно связаться со мной через личные сообщения — я буду только рад
+1
1
0
memory_limit = 512M
Это просто край…
— Мой скрипт отжирает огромное количество памяти и хоумпага падает. Что делать?
— Накинь скрипту побольше памяти!
0
спасибо за ваше замечание. Я лишь руководствовался официальной рекомендацией 1С-Битрикс, которое звучит как:
В проектах, на которых я работаю, оперативной памяти в избытки и мы можем позволить себе
В том числе, ради дополнительного уровня отказоустойчивости. Но это вовсе не означает, что на проектах не проводится регулярный аудит кода и нет детального мониторинга, в том числе по потреблению оперативной памяти php скриптами
В своей статье я подчеркнул важность изменения некоторых параметров и конфигов «под себя», возможно, в вашем случае, действительно memory_limit стоит установить в меньшее значение.
Фактическое ограничение памяти: Не менее 256 М
В проектах, на которых я работаю, оперативной памяти в избытки и мы можем позволить себе
memory_limit = 512M
В том числе, ради дополнительного уровня отказоустойчивости. Но это вовсе не означает, что на проектах не проводится регулярный аудит кода и нет детального мониторинга, в том числе по потреблению оперативной памяти php скриптами
В своей статье я подчеркнул важность изменения некоторых параметров и конфигов «под себя», возможно, в вашем случае, действительно memory_limit стоит установить в меньшее значение.
0
Ужасное оформление типографии статьи, очень тяжело воспринимается визуально.
0
Простите, но зачем это все?
Почему нельзя взать инсталлер Битрикса как любой другой cms и развернуть на хосте в нужном месте будь то корень домена или любой другой каталог?
В моем понимании все эти «готовые виртуальные машины с %systemname%» хороши только в одном случае — для быстрого прототипирования и показа заказчику. Во всех остальных случаях нужно готовить хост согласно привычке/снадартам/лучщим практикам и ставить на него нудные системы. Или вообще использовать докер.
Почему нельзя взать инсталлер Битрикса как любой другой cms и развернуть на хосте в нужном месте будь то корень домена или любой другой каталог?
В моем понимании все эти «готовые виртуальные машины с %systemname%» хороши только в одном случае — для быстрого прототипирования и показа заказчику. Во всех остальных случаях нужно готовить хост согласно привычке/снадартам/лучщим практикам и ставить на него нудные системы. Или вообще использовать докер.
0
Большое спасибо за ваши вопросы, постараюсь на них ответить
ответ на ваш вопрос
под моим самым первым заголовком
А зачем?
именно это и происходит в статье, смотрите текст сразу после
Осталось только развернуть сайт на свежем домене
Это лишь одно из преимуществ готовых виртуальных машин. Смысл работы, проделанной мной, это использование преимуществ Битрикс-окружения, которое разрабатывается и поддерживается компанией 1С-Битрикс. А именно из преимуществ:
вместе с продуктом ISPmanager, который даёт вам удобный веб-интерфейс для управления проектами, FTP-аккаунтами и серверов в целом.
Для тех, кто не очень ознакомлен с вопросом, сразу вначале статьи я оставил ссылку «1С-Битрикс: Веб-окружение» — Linux
и ссылку на официальный сайт ISPmanager
Абсолютно с вами согласен. Эта статья преследует именно эти цели. Я рассказываю о том, как настроить свой хостинг под стандарты, данные разработчиками 1С-Битрикс, которые основываются на практике использования своих продуктов, но при этом не использовать полностью то окружение, которые они предоставляют.
Если ваш вопрос «зачем это статья», то надеюсь я ответил. Если ваш вопрос — зачем нужные готовые веб-окружения, то эта статья затрагивает данных вопрос лишь частично, поэтому вступать в дискуссию на эту тему в рамках комментариев я не буду.
P.S.
ответ на ваш вопрос
Простите, но зачем это все?
под моим самым первым заголовком
А зачем?
Почему нельзя взать инсталлер Битрикса как любой другой cms и развернуть на хосте в нужном месте будь то корень домена или любой другой каталог?
именно это и происходит в статье, смотрите текст сразу после
Осталось только развернуть сайт на свежем домене
В моем понимании все эти «готовые виртуальные машины с %systemname%» хороши только в одном случае — для быстрого прототипирования и показа заказчику.
Это лишь одно из преимуществ готовых виртуальных машин. Смысл работы, проделанной мной, это использование преимуществ Битрикс-окружения, которое разрабатывается и поддерживается компанией 1С-Битрикс. А именно из преимуществ:
- необходимые параметры и настройка nginx,apache,mysql и других составляющих веб-сервера для корректной работы всех фич битрикса
- установка всех необходимых дополнительных пакетов, необходимых для корректной работы всех фич битрикса
- обеспечение максимальной безопасности веб-проектов
вместе с продуктом ISPmanager, который даёт вам удобный веб-интерфейс для управления проектами, FTP-аккаунтами и серверов в целом.
Для тех, кто не очень ознакомлен с вопросом, сразу вначале статьи я оставил ссылку «1С-Битрикс: Веб-окружение» — Linux
и ссылку на официальный сайт ISPmanager
Во всех остальных случаях нужно готовить хост согласно привычке/снадартам/лучщим практикам и ставить на него нудные системы.
Абсолютно с вами согласен. Эта статья преследует именно эти цели. Я рассказываю о том, как настроить свой хостинг под стандарты, данные разработчиками 1С-Битрикс, которые основываются на практике использования своих продуктов, но при этом не использовать полностью то окружение, которые они предоставляют.
Если ваш вопрос «зачем это статья», то надеюсь я ответил. Если ваш вопрос — зачем нужные готовые веб-окружения, то эта статья затрагивает данных вопрос лишь частично, поэтому вступать в дискуссию на эту тему в рамках комментариев я не буду.
P.S.
Или вообще использовать докер.к сожалению, я не знаю, что такое «докер».
0
Очень надеялся что будет интеграция с ISPmanager. Жаль что это не описано. Всё, что делает ваш скрипт уже давно вручную настроено.
0
если вы имеете ввиду интеграцию в виде «Приложения», чтобы автоматически БД создавалась и всё прописовалась в конфиги сгенерированного дистрибутива, то это планируется довольно скоро в следующем обновлении
Или интересует что-то ещё?
Или интересует что-то ещё?
0
Добрый день. Спасибо за статью. Я пытаюсь перенести сайт на VPS с ISP manager 5 и ничего не выходит. Сначала поставил, но то 502 то 403 ошибки. Решил все удалить, сделать оптимизацию Вашими скриптами и теперь получаю ошибку на начальном этапе: «В режиме Apache MPM-ITK скрипт restore.php выдаёт ошибку, информация по ней в разделе «Важная информация»»
Как ее побороть? Заранее благодарен!
p.s. если убираю строки из конфигов httpd/nginx то этой ошибки нет.
Как ее побороть? Заранее благодарен!
p.s. если убираю строки из конфигов httpd/nginx то этой ошибки нет.
0
Закоментировал в bx/bx_apache.conf строку "#php_admin_value short_open_tag «On» и все пошло.
0
Битриксовые сайты всё-таки рекомендуют выставлять short_open_tag в значение On
А почему на начальном этапе ошибка я писал в статье =)
А почему на начальном этапе ошибка я писал в статье =)
Битриксовый скрипт restore.php в режиме Apache MPM-ITK падает с ошибкой short_open_tag parameter must be turned on in php.ini
Происходит это из-за неправильно использования условия if в этом скрипте. Проблема существует, потому что во всех остальных режимах php она не модулируется, но я уже связался с разработчиками 1С-Битрикс и они должны будут исправить проблему (другой вопрос когда они это сделают). Если кого-то интересуют подробности бага — отвечу в комментариях
Пока что, в качестве временного фикса, используем для восстановления сайта дистрибутив из прикреплённого к статье архиву.
0
в php.ini итак стоит «On», поэтому когда закоментировал строку в конфиге все заработало.
Дистрибутив из архива не годится, ибо я восстанавливаю бекап.
Что то сайт медленно работает…
Дистрибутив из архива не годится, ибо я восстанавливаю бекап.
Что то сайт медленно работает…
0
в php.ini итак стоит «On», поэтому когда закоментировал строку в конфиге все заработало.
вы уверенны, что в phpinfo(); short_open_tag показывается как включённый?
настройка в bx/bx_apache.conf ничем не должна отличаться от php.ini и вызывать каких-то проблем…
Что то сайт медленно работает…
Штатная битриксовая проверка производительности сайта что показывала при этом?
0
да абсолютно уверен, проверял через php info и даже вырезал из restore.php проверку на переменную, пока из bx_apache.conf не закомментировал строку, он считал что тег выключен. Причем если делаешь echo ini_set('short_open_tag') то скрипт выводит On, но при проверке через if выдает ошибку. Повторюсь что выключение строки из конфига помогло.
Штатная показывает 1.65сек, мол медленно, в панели производительности все оптимально, xcache стоит.
Штатная показывает 1.65сек, мол медленно, в панели производительности все оптимально, xcache стоит.
0
по первому пункту большое спасибо за подробное описание
именно xcache, а не opcache?
вот мой тикет в битрикс, где они признали баг
Здравствуйте, у меня 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 руками, то он автоматически скачивается снова и мои правки затираются.
и скрипт 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
именно xcache — s017.radikal.ru/i429/1507/eb/f97b76d727e3.png
0
на старом хостинге в районе 0.9с показывал, а тут 1.6-1.7с. Явно что то не то настроено
0
странно, если запускать мои скрипты на чистом centos 6.6 + ispmanager 5 + nginx — то должен вставать opcache, взяться xcache там неоткуда O_O
вот один из довольно «тяжёлых» сайтов на сервере, развёрнутом по этой статье
вот один из довольно «тяжёлых» сайтов на сервере, развёрнутом по этой статье
Скрытый текст
0
opcache вобще не стоял, xcache ставил из isp manager.
у меня так i056.radikal.ru/1507/c5/28984baef3fd.png
у меня так i056.radikal.ru/1507/c5/28984baef3fd.png
0
xcache удалил, поставил opcache т.к. php 5.4. Сразу оценка производительности стала 26 вместо 6.0
0
надеюсь помог =)
0
ага, спасибо! осталось с базой что то сделать, оптимизировать как-то, а то медленно работает
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,
),
array (
'value' =>
array (
'type' =>
array (
'class_name' => 'CPHPCacheMemcacheCluster',
'extension' => 'memcache',
'required_file' => 'modules/cluster/classes/general/memcache_cache.php',
),
),
'readonly' => false,
),
Это нормально? Или не верно?
0
так можно, руки у этого дела растут из штатной фичи в админке «Кластер» которая называется (или как-то так)
я обычно настраивал через файлик .settings_extra.php
я обычно настраивал через файлик .settings_extra.php
0
развернул сабж на новом сервере. nginx не запускается. Сначала ругался на кучу дублей в конфиге, а потом
service nginx restart
nginx: [emerg] unknown «proxyserver» variable
nginx: configuration file /etc/nginx/nginx.conf test failed
пришлось закоментить строку
#include bx/push.conf;
Почему так?
service nginx restart
nginx: [emerg] unknown «proxyserver» variable
nginx: configuration file /etc/nginx/nginx.conf test failed
пришлось закоментить строку
#include bx/push.conf;
Почему так?
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Оптимизация ISPmanager под проекты на Битриксе или как я скрестил ISPmanager и VMBitrix (Битрикс окружение)