Краткий список изменений:
- изменены настройки модуля nginx-push-stream-module, добавлена возможность работать через websoket и стандартные порты 80, 443
- переработаны конфигурационные файлы, добавленны комментарии
- исправлена потеря get параметров в dav
- обновлены модуль nginx-push-stream-module, nginx, apc
- добавлен мастер настройки и подключения sphinx
- сервис bvat расширена поддержка автоматической настройки параметров до 16 ГБ
Одной из особенностей данной версии, является наличие sphinx и мастера его настройки. Использование sphinx в качестве поискового движка позволит значительно увеличить скорость поиска и снизит нагрузку на сервер. Для его настройки необходимо:
- установить и обновить проект до последней актуальной версии
- в консольном меню виртуальной машины выбрать пункт "18. Sphinx search server"
- в данном меню при первом включение вначале выбираем пункт "0. Start sphinx" , а затем "3. Add index", чтобы создать индекс для конкретного сайта. При этом необходимо выбрать кодировку в которой работает сайт и придумать название индекса.
Мастер создаст нужный индекс, перезапустит sphinx. После чего, покажет полное название индекса и предложит настроить на использование этого индекса установленный на машине проект. Для настройки уже установленного проекта достаточно выбрать его из списка доступных, и после отработки мастера выполнить полную переиндексацию.
Для тех кто использует BitrixEnv стоит обратить внимание на закрытие доступа к портам 9312 и 9306 из вне.
При обновление могут быть изменены системные конфигурационные файлы, старые файлы при этом не удаляются, а сохраняются рядом с другим именем.
Бэкапы /etc/nginx/, /etc/httd/, my.cnf и т.п. надо иметь перед обновлением.
2. При обновление старые файлы настроек не удаляются, а переименовываются
Короче говоря, получается, что в БУСе и КП есть функционал для 5.4, а в bitrix_env нет
Как обстоят дела со следующим:
Можно ли развернуть многосайтовость с поддержкой авторизации на разных сайтах?
Для этого всего лишь надо переносить куки.
Но... ранее были проблемки с портами
Вопрос: Это исправлено?
Или по-прежнему требуется лезть и править самим?
При необходимости можете это изменить исправив конфиг или просто сделав симлинк с одной папки с сессиями на другую.
как то раз уже обращался в ТП с проблемой
проблема в номере порта, который передается из nginx в апач
в результате в переменных окружения имя сервера фигурирует всегда с портами
ну а далее начинается бардак с куками, так как куки то тоже втыкаются с номером порта
При работе с единичным сайтом не заметно все ок
а вот как только требуется перенос авторизации между доменами (даже не между сайтами), тогда только и понимаешь что то не так
в свое время (в 2011) обращались в ТП
обещали передать тикет вам
1. в dbconn.php добавить
2. Либо размещать сайт в дополнительных сайтах, а в основном только заглушку или просто редирект.
но тут уже точно не помню
0 - main
1 -
То есть выбирать просто 0 и Sphinx будет по умолчанию работать на двух сайтах?
На шаге выбора сайта проблема
Всего три сайта, все отдельные установки (не многосайтовость), видим в списке сайт по умолчанию (в моем случае не используется) и еще три сайта но у третьего нет названия, если его выбрать возникает ошибка, из того что видно путь к папке сайта неверный
Если создать еще один индекс и выбрать второй сайт из списка (отображается с названием) в мастере то все ок
голосуем за идею:
1. На слишком большие разрешённые timeout в настройках nginx по 300 секунд. И максимально допустимые post_size в 1024 мб.
2. При этом для mysql разрешено лишь 20 соединений (для 2 Гб оперативки).
3. MaxClients = 20 в апаче
С такими настройками положить сервер не составит ни малейшего труда. Достаточно повесить одновременно 20 соединений к сайту и не закрывать их (простейшая эмуляция slow ddos), причём это даже может быть не злоумышленних, а 20 человек с медленным интернетом. В этом случае ресурсы сервера полностью свободны (оперативка и процессор - доступны в избытке), но т.к. соединения висят база 21-ому посетителю ответит ошибкой too many connection, а nginx не отрубит эти соединения из-за слишком больших лимитов. И всё сервер парализован.
Мы лично столкнулись с подобной ситуацией с версией 4.2. Нас 3 дня долбили на предмет подбора паролей к битриксу. У нас VPS на таймвебе (2,5 Гб оперативка, 4 ядра по 2,7 ГЦ XEON). Было по 200-300 тысяч запросов в сутки на протяжении 3-х дней. Сервер изначально лёг хотя ресурсы были свободны, точнее работал только nginx (статика отдавалась), а апач и база - не работали. Помогло изменение настроек к апачу на MaxClients = 200 и базы также на 200 max connection. После этого следующие 2 дня мы даже не заметили этой атаки, только по логам наблюдали.
То что вы делаете 20 соединений к базе в теории верно (если считать по формуле расхода оперативной памяти на каждое соединение), но это теория. А на практике у mysql должна быть возможность обрабатывать любое количество соединений, чем не использовать доступные ресурсы (кстати вы можете почитать рекомендации Percona где как раз об этом говориться, а они специализируются на высоконагрузочных решениях).
По поводу MaxClients в апаче, тоже в теории с модулем prefork 20 соединений это на каждую родительскую ветку, которых 5000, а на практике как то вот иначе работает это похоже.
Ну и до кучи nginx если ему разрешить все таймауты не больше 10-20 хотя бы отрубать будет клиентов, которые долбяться в очередь, а получить ничего не могут. Правда с такими лимитами nginx в битриксе бэкапы и долгие импорты будут скидываться.
Как вариант я бы сделал 2 конфига nginx и выбор через вашу менюшку: демонстрация работы продукта или высоконагрузочная система, ну и переключать nginx.conf
Еще хочу уточнить о настройке Sphinx если создано несколько отдельных сайтов на одной VM
В моем случае из трех сайтов в списке выбора сайта после создания индекса в списке четвертый (последний) без названия и после его выбора возникает ошибка, если выбрать к примеру третий то все ок.
У вас проблема не воспроизводится?
Подскажите, что нужно сделать с настройками Sphinx, чтобы работала опция "Искать без учета морфологии (при отсутствии результата поиска)"?
Неверно указан код защиты от автоматических сообщений.
Centos 6 с последними обновлениями по дате 2013-12-20 02:25 версия от сборки 2013.12.19. Все проходит как по маслу, но NGINX не стартует. Делаем service nginx restart, становится понятна причина:
Следовательно, NGINX надо обновить ? Но вроде bitrix.repo подключен, должен быть обновить ... И зависимости. YUM UPDATE и UPGRADE результатов не дает ни до, ни после установки bitrix_env 4.3. Вопрос: как запустить NGINX ?
После этого nginx должен заработать
После обновления аналогичная проблема, nginx ругается на параметры push_stream в конфигах.
Делаю
yum clean all
yum reinstall bitrix-env4
Получаю в итоге:
Total download size: 8.5 M
Installed size: 18 M
Is this ok [y/N]: y
Downloading Packages:
[Errno 14] Downloaded more than max size for 9833943 > 8935673
Trying other mirror.
Error Downloading Packages:
bitrix-env4-3.0-bitrix.noarch: failure: bitrix-env4-3.0-bitrix.noarch.rpm from bitrix: [Errno 256] No more mirrors to try.
Downloading Packages:
(хттп)repos.1c-bitrix.ru/yum/el/6/i386/bitrix-env4-3.0-bitrix.noarch.rpm: [Errno 14] Downloaded more than max size for (хттп)repos.1c-bitrix.ru/yum/el/6/i386/bitrix-env4-3.0-bitrix.noarch.rpm: 9833943 > 8935673
Trying other mirror.
если при установке:
0 - utf8
1 - cp1251
выбрать пункт 1 (cp-1251), и в мастере на первом шаге выбрать "Установка нового сайта", то сайт не установится (будет ругаться на ошибки в настрйоке модуля mbstring).
Все потому, что при любом раскладе в файле /bitrix/php_interface/dbconn.php будет всегда стоять
define("BX_UTF", true);
а значит, мастер установки будет устанавливать сайт всегда в кодировке utf-8, независимо от того, что мы выбрали в мастере.
Чтобы исправить - можно в файле
/root/bitrix-env/add_site.sh
строку 227 заменить на:
и в файле
/root/bitrix-env/add_site_change_db.php в строке 54 дописать:
то есть, закомментировать установку в UTF если на первом шаге выбрали cp-1251.
для того чтобы в мс избавиться от крякозябл приходиться менять в /etc/sysconfig/i18n LANG="en_RU.UTF-8"
при этом команды перекодировки без ошибок работает только если прописать LANG на LANG="ru_RU.UTF-8"
но для нормального отображения кодировки в мс параметр LANG надо прописать LANG="en_RU.UTF-8"
как все таки найти компромисс?
Простите, но сейчас в полностью обновленной среде используется nginx-1.4.3-1.el6.ngx.x86_64 с версией модуля 0.3.4. пришлось руками откатывать конфиги, пока сервис лежал.
yum repolist
base CentOS-6 - Base 6 367
bitrix $OS 6 - x86_64 24
cr CentOS-6 - CR 0
epel Extra Packages for Enterprise Linux 6 - x86_64 10 487
extras CentOS-6 - Extras 14
updates CentOS-6 - Updates 518
Или я что-то пропустил, и в среде используется какой-то новый nginx из других реп ?
yum reinstall nginx
yum reinstall bitrix-env4
помогло!
Installed:
bitrix-env4.noarch 0:3.1-bitrix
Complete!
У вас есть новая почта в /var/spool/mail/root
[root@CentOS-64-64-minimal ~]# /etc/init.d/nginx restart
nginx: [emerg] open() "/etc/nginx/bx/server_monitor.conf" failed (40: Too many levels of symbolic links) in /etc/nginx/bx/site_enabled/s1.conf:25
nginx: configuration file /etc/nginx/nginx.conf test failed
И ошибка не ушла:
по поводу варнинга обратитесь в ТП , и скинте мне номер тикета на rns@bitrix.ru
Не гладко все пошло:
1/ Нужно адаприровать минимальную конфигурацию видимо под новую версию. Ругалось на параметры lemmatizer_base, charset_type,
docinfo
2/ После установки компонент поиска начал ругаться на запросы.
Нужно было постарее версию видимо установить? У вас на скриншоте 2.1.3, могу я к ней откатиться?
Столкнулся со следующей проблемой - при смене физической сети (сеть на работе и сеть дома) сайт становиться недоступным. Как сделать так, чтобы при смене физической сети сайт всегда был доступен?
Заранее спасибо!