Himiko: Давно мы стали обсуждать ispmanager? Мы обсудили, как проще сделать клиенту в общем случае.
Цитирую:
Himiko: Просто нажать "включить" напротив nginx'а в ispmanager'е.
при том, что у ТС непосредственно - Webmin. Я молчу про ISP CP Omega, Domain Technologies, Kloxo, DirectAdmin, Cpanel, что там ещё из панелей? И ни одна как платная, так и бесплатная - не используется широко зарубежом или крупными хостерами (хотя в последнее время тенденция меняется, да) и не поддерживает Nginx, кроме того, ещё и грабли у них с ним возникают. Вы пробовали ставить Nginx на DirectAdmin? Нифига не тривиальная задача (уж я - то знаю, т.к. продаю директ именно в связке с nginx). А тот же mod_rpaf, про который частенько забывают? И т.п. Да и ручками гораздо проще поправить конфиг апача, чем разбираться с Nginx, если ставить самому и без панели. Апач - стандарт, а Джинкс - всё же для тех, кто или точно знает, зачем ему, или хочет просто "запустить ракету" в порядке эксперимента. Так что кто тут в теме, я не знаю. Я свои слова, вроде чётко аргументировал.
Himiko: Просто нажать "включить" напротив nginx'а в ispmanager'е.
Мне начинать перечислять баги ISP? Или уж остановимся... А подсчёт трафика там сколько, полгода вроде (или больше даже) не работал? ))). Ну и ещё наберётся всяких "несрастушек". Я тоже не на бейсике написан ;).
Himiko: Рядовой человек понятия не имеет, что там и для чего предназначено.
Ну и хренли он туда тогда лезет? Если понятия не имеет? А, понял. Чтобы сначала самому обжечься, а потом нанять админа. Не проще сразу нанять?
Himiko: Причём один модуль зависит от другого и если отключать по одному, то ещё нарвёшься на отключение нужных модулей или вообще web-сервер не запустится, т.к. другой модуль требует отключённый.
А пример можно? Боюсь, сразу станет ясно, что в рядовом случае все эти модули не нужны.
Himiko: Тоже самое с переводом Apache в режим worker. Делается это часто не просто, да и потребует смены режима работы php и другие манипуляции.
Угу. В CentOS делается просто: редактированием двух файлов (/etc/sysconfig/httpd и /etc/httpd/conf.d/php.conf). И менять там надо ну совсем чуточку. манов в интернете тоже полно. Подозреваю, что в Debian ситуация на одну команду сложнее (да поправит меня myhand).
Himiko: Включить nginx в панели (или поставить через yum install и прописать по мануалам виртхосты) или иметь опыт в определении "лишних" модулей, режимах работы apache/php ?
Проще в последствии - изучить матчасть и уже настроить так настроить. В противном случае один хрен ничего толкового не выйдет (ну разве что проекты не очень важны - так хоть научиться быстро гуглить и эксперименты ставить). Кстати, нифига Nginx втыкать не проще. А включить в панели - я не знаю, но было дело, потом уже выключить его не получалось. Или получалось так, что включался с пустыми конфигами. Ну и еще всякой дряни там бывало... То он стаивлся как прокся и ничего более, то он обрабатывал статику. Ну да, я тогда так матерился помню на эту панель, ух... Человек просто нажал кнопочку "включить" и всех виртхостов как небывало. Ну да, уповаем на панель... Которая тоже далеко не панацея.
Короче я к чему: не умеешь играть на гитаре - нехрен на площадь выходить и бренькать. А если уж что-то делать - так делать качественнос полным пониманием всего, а не "как попало". Вот как-то так. А посему нужно учиться жить не по мануалам и чьим-то советам "до буковки", а учиться пользоваться справочной документацией и расширять кругозор.
---------- Добавлено 06.02.2012 в 14:36 ----------
Himiko: Просто нажать "включить" напротив nginx'а в ispmanager'е.
Мне начинать перечислять баги ISP? Или уж остановимся... А подсчёт трафика там сколько, полгода вроде (или больше даже) не работал? ))). Ну и ещё наберётся всяких "несрастушек". Я тоже не на бейсике написан ;).
Himiko: Рядовой человек понятия не имеет, что там и для чего предназначено.
Ну и хренли он туда тогда лезет? Если понятия не имеет? А, понял. Чтобы сначала самому обжечься, а потом нанять админа. Не проще сразу нанять?
Himiko: Причём один модуль зависит от другого и если отключать по одному, то ещё нарвёшься на отключение нужных модулей или вообще web-сервер не запустится, т.к. другой модуль требует отключённый.
А пример можно? Боюсь, сразу станет ясно, что в рядовом случае все эти модули не нужны.
Himiko: Тоже самое с переводом Apache в режим worker. Делается это часто не просто, да и потребует смены режима работы php и другие манипуляции.
Угу. В CentOS делается просто: редактированием двух файлов (/etc/sysconfig/httpd и /etc/httpd/conf.d/php.conf). И менять там надо ну совсем чуточку. манов в интернете тоже полно. Подозреваю, что в Debian ситуация на одну команду сложнее (да поправит меня myhand).
Himiko: Включить nginx в панели (или поставить через yum install и прописать по мануалам виртхосты) или иметь опыт в определении "лишних" модулей, режимах работы apache/php ?
Проще в последствии - изучить матчасть и уже настроить так настроить. В противном случае один хрен ничего толкового не выйдет (ну разве что проекты не очень важны - так хоть научиться быстро гуглить и эксперименты ставить). Кстати, нифига Nginx втыкать не проще. А включить в панели - я не знаю, но было дело, потом уже выключить его не получалось. Или получалось так, что включался с пустыми конфигами. Ну и еще всякой дряни там бывало... То он стаивлся как прокся и ничего более, то он обрабатывал статику. Ну да, я тогда так матерился помню на эту панель, ух... Человек просто нажал кнопочку "включить" и всех виртхостов как небывало. Ну да, уповаем на панель... Которая тоже далеко не панацея.
Короче я к чему: не умеешь играть на гитаре - нехрен на площадь выходить и бренькать. А если уж что-то делать - так делать качественнос полным пониманием всего, а не "как попало". Вот как-то так. А посему нужно учиться жить не по мануалам и чьим-то советам "до буковки", а учиться пользоваться справочной документацией и расширять кругозор.
---------- Добавлено 06.02.2012 в 14:37 ----------
Himiko: Там не придётся настройки php менять у каждого(!) виртхоста? Это он может сделать?
У него webmin, а не isp. Там это сделано более рпавильно ;).
Ну нет, млин. Я сейчас пойду и буду за тебя гуглить, мне оно надо? Я расскажу/покажу что-то не тривиальное, выпендрюсь перед коллегами (блесну знаниямИ) и помогу. Но то, что уже обсосано не один раз - уже перебор. Или давайте на каждом форуме спрашивать урл википедии (а зачем форумы, в гугле ж забанили, я там спрошу).
Himiko: Одно - это лёгкий nginx, а другое - отдельный процесс apache с кучей модулей.
Левые модули из апача убить. И остаётся лёгкий апач... Я серьёзно... Всякие mod_proxy и иже с ними вообще не нужны обычно. А самое жрущее - mod_php, который вынесен в CGI... У меня один воркер апача кушает 2 Мбайта памяти, правда там нифига не префорк. Если серьёзно - даже апач ставится перед апачем же (!) для достижения того же эффекта, что и с nginx (!). Вот таки дела... Просто далеко не везде эта прокся нужна.
Himiko: Сэкономит и в разы больше при достаточной посещаемости. Потому как процессы apache будут висеть ровно столько, сколько потребуется для выполнения скрипта.
А теперь переводим апач в режим Worker, ставим fcgi и получаем ту же картину, что и при nginx. Даже ещё выгоднее... ;). Зачем плодить еще один веб-сервер с отдельными конфигами, о которых надо помнить (!), о которых надо знать, а в случае с панелью возникают неописуемые фейлы время от времени благодаря разработчикам... ? Я даже больше хочу. Хотите на большую посещаемость и остаться с rewrite - ставьте lighttpd - вот это штука. Причём довольно большая преемственность инструкций и синтаксиса от апача (даже переписывать часто ничего не нужно).
Himiko: это самое простое "лекарство", поэтому им и пользуются.
Олег, самое простое - потому, что куча манов написана. А когда делают "по мануалу", не понимая истоков - получается не всегда то, что надо. И это, между прочим, очень распространённое явление. так, например, без должного конфига Nginx в качестве reverse-proxy просто не даёт никакого эффекта в большинстве случаев. В случае же перенаправления обработки статики на него - потребуются дополнительные "прыжки с бубном", а если еще и доменов черти-сколько - это уже превращается в весьма неприятную задачу (если домены периодически добавляются). Ну и опять же дополнительная софтина, которая может заглючить, которую нужно обновлять, у которой может оказаться неожиданное "непереваривание" другого софта и т.п. Оно надо? Боюсь, в продакшн далеко не каждому. Это хорошо, что люди, которые ставят что-то только потому, что "где-то что-то слышали" не занимаются серьёзными проектами, могущими причинить при простое вред жизни людей или еще чего. Вот в CERN к примеру, админы бы так ставили софт... Было бы весело :)..
Himiko: Можете представить цифры при 30-50 одновременных подключениях к web-серверу.
60 запросов в секунду с более чем 300 сайтами - достаточная нагрузка, для объективности? Я не пожалею один из своих хостинговых серверов в продакшне, только для того, чтобы вы убедились в бесполезности nginx в самом простом случае.
Himiko: Но для рядового человека nginx действительно является самым простым решением.
Да. Писать конфиг для nginx и апача - довольно просто... А я думал, проще сконфигурировать только апач. да, на уровне "наш1л конфиг в интернете под другую систему, скопировал к себе и исправил пути" - просто. Но эффективность такого решения - нуль. Тем более, что разбираться потом, кто виноват и почему - с nginx сложнее. А ещё из-за этого оооочень часто возникают ошибки 502/504 (потому, что конфиг для большого сервака копируют к себе на ВПС или наоборот бездумно).
Himiko:
Не всегда он даст эффект, но вариант самый простой, который можно опробовать.
Himiko: префорк будет держать процессы, пока посетитель не получит данные от web-сервера. В случае с nginx такого не будет и отдавать контент будет уже nginx с его 1-2 процессами.
Да кто вам такое сказал?! :). Ну да, если поставить буферов у джинкса поболее - ну будет толк, но не на одном (!) хосте в час. И, кроме того, префорк не прибивает процессы после того, как они запущены! На то он и prefork (предварительно создаёт форки процессов, чтобы не создавать их при запросе). Но для джинксовых буферов тоже нужна память (!). Кстати, перевод PHP в режим CGI в данном случае сделает то же самое, что делает Nginx (представьте, ведь когда пых отработает - апачу останется только раздать страничку, т.к. пых из памяти выгрузится после генерации). Зачем плодить ещё одну точку отказа?
Himiko: Apache есть смысл подкрутить, чтобы зря процессы не висели, когда памяти не много.
Да и такую штуку, как выгрузка ненужных модулей... Знаете, тоже хорошо и память и процессор экономит.
Стрельба из пушки по воробьям, блин. Будто от Nginx он сэкономит больше 10 мегабайт... Пичаль... А то, что он сам по себе эти же 10 метров отожрет никто не задумывается.
---------- Добавлено 06.02.2012 в 10:24 ----------
Himiko: Естественно nginx не универсальное лекарство от потребления, когда речь о слабом сервере без нагрузки.
Вот-вот. И я о том же, что одним Nginx сыт не будешь.
Himiko: Это правда. Но всё зависит от конкретного случая. Где-то nginx действительно даёт мало толка, но часто он действительно поможет.
да я разве спорю... Но этот VPS не отдаёт тонны статики (так говорят мои телепатические способности). Я не сторонник, когда ставят только потому, что "где-то слышали". Нет, на полном серьёзе подоплёка здесь только одна. Поэтому я здесь снёс бы мемкеш и nginx - памяти сразу стало бы больше. Ну и потом подкрутил апач, поставил бы нормальное max_clients, уменьшил бы размер стека (я еще с этим не задрал? :)), подкрутил мыскл... ну и запихал бы ОС в ~ 150 метров памяти.
Если недокачанным - вопрос, чем качаете. Будто софтинка прибивается, т.к. нет родительского процесса. Под кроном баш запускается для выполнения команды и прибивается после её выполнения. Добавьте в конец скрипта echo - должно помочь от этого (подозреваюю, что баш прибивается после выполнения последней команды, а т.к. для софтинки выглядит будто юзер вышел, который её запустил - она и умирает).
Neptoon, Я что, анонимус?
sven, Хостер косячнул. пишите ему.
Давно мы стали обсуждать ispmanager? Мы обсудили, как проще сделать клиенту в общем случае.
Цитирую:
Просто нажать "включить" напротив nginx'а в ispmanager'е.
при том, что у ТС непосредственно - Webmin. Я молчу про ISP CP Omega, Domain Technologies, Kloxo, DirectAdmin, Cpanel, что там ещё из панелей? И ни одна как платная, так и бесплатная - не используется широко зарубежом или крупными хостерами (хотя в последнее время тенденция меняется, да) и не поддерживает Nginx, кроме того, ещё и грабли у них с ним возникают. Вы пробовали ставить Nginx на DirectAdmin? Нифига не тривиальная задача (уж я - то знаю, т.к. продаю директ именно в связке с nginx). А тот же mod_rpaf, про который частенько забывают? И т.п. Да и ручками гораздо проще поправить конфиг апача, чем разбираться с Nginx, если ставить самому и без панели. Апач - стандарт, а Джинкс - всё же для тех, кто или точно знает, зачем ему, или хочет просто "запустить ракету" в порядке эксперимента. Так что кто тут в теме, я не знаю. Я свои слова, вроде чётко аргументировал.
Рассказывайте, что стоит хотя бы. какой веб-сервер, есть ли nginx, какая панелька, какой пых и т.п. ну что вы как маленький? ;)
Просто нажать "включить" напротив nginx'а в ispmanager'е.
Мне начинать перечислять баги ISP? Или уж остановимся... А подсчёт трафика там сколько, полгода вроде (или больше даже) не работал? ))). Ну и ещё наберётся всяких "несрастушек". Я тоже не на бейсике написан ;).
Рядовой человек понятия не имеет, что там и для чего предназначено.
Ну и хренли он туда тогда лезет? Если понятия не имеет? А, понял. Чтобы сначала самому обжечься, а потом нанять админа. Не проще сразу нанять?
Причём один модуль зависит от другого и если отключать по одному, то ещё нарвёшься на отключение нужных модулей или вообще web-сервер не запустится, т.к. другой модуль требует отключённый.
А пример можно? Боюсь, сразу станет ясно, что в рядовом случае все эти модули не нужны.
Тоже самое с переводом Apache в режим worker. Делается это часто не просто, да и потребует смены режима работы php и другие манипуляции.
Угу. В CentOS делается просто: редактированием двух файлов (/etc/sysconfig/httpd и /etc/httpd/conf.d/php.conf). И менять там надо ну совсем чуточку. манов в интернете тоже полно. Подозреваю, что в Debian ситуация на одну команду сложнее (да поправит меня myhand).
Включить nginx в панели (или поставить через yum install и прописать по мануалам виртхосты) или иметь опыт в определении "лишних" модулей, режимах работы apache/php ?
Проще в последствии - изучить матчасть и уже настроить так настроить. В противном случае один хрен ничего толкового не выйдет (ну разве что проекты не очень важны - так хоть научиться быстро гуглить и эксперименты ставить). Кстати, нифига Nginx втыкать не проще. А включить в панели - я не знаю, но было дело, потом уже выключить его не получалось. Или получалось так, что включался с пустыми конфигами. Ну и еще всякой дряни там бывало... То он стаивлся как прокся и ничего более, то он обрабатывал статику. Ну да, я тогда так матерился помню на эту панель, ух... Человек просто нажал кнопочку "включить" и всех виртхостов как небывало. Ну да, уповаем на панель... Которая тоже далеко не панацея.
Короче я к чему: не умеешь играть на гитаре - нехрен на площадь выходить и бренькать. А если уж что-то делать - так делать качественнос полным пониманием всего, а не "как попало". Вот как-то так. А посему нужно учиться жить не по мануалам и чьим-то советам "до буковки", а учиться пользоваться справочной документацией и расширять кругозор.
---------- Добавлено 06.02.2012 в 14:36 ----------
Просто нажать "включить" напротив nginx'а в ispmanager'е.
Мне начинать перечислять баги ISP? Или уж остановимся... А подсчёт трафика там сколько, полгода вроде (или больше даже) не работал? ))). Ну и ещё наберётся всяких "несрастушек". Я тоже не на бейсике написан ;).
Рядовой человек понятия не имеет, что там и для чего предназначено.
Ну и хренли он туда тогда лезет? Если понятия не имеет? А, понял. Чтобы сначала самому обжечься, а потом нанять админа. Не проще сразу нанять?
Причём один модуль зависит от другого и если отключать по одному, то ещё нарвёшься на отключение нужных модулей или вообще web-сервер не запустится, т.к. другой модуль требует отключённый.
А пример можно? Боюсь, сразу станет ясно, что в рядовом случае все эти модули не нужны.
Тоже самое с переводом Apache в режим worker. Делается это часто не просто, да и потребует смены режима работы php и другие манипуляции.
Угу. В CentOS делается просто: редактированием двух файлов (/etc/sysconfig/httpd и /etc/httpd/conf.d/php.conf). И менять там надо ну совсем чуточку. манов в интернете тоже полно. Подозреваю, что в Debian ситуация на одну команду сложнее (да поправит меня myhand).
Включить nginx в панели (или поставить через yum install и прописать по мануалам виртхосты) или иметь опыт в определении "лишних" модулей, режимах работы apache/php ?
Проще в последствии - изучить матчасть и уже настроить так настроить. В противном случае один хрен ничего толкового не выйдет (ну разве что проекты не очень важны - так хоть научиться быстро гуглить и эксперименты ставить). Кстати, нифига Nginx втыкать не проще. А включить в панели - я не знаю, но было дело, потом уже выключить его не получалось. Или получалось так, что включался с пустыми конфигами. Ну и еще всякой дряни там бывало... То он стаивлся как прокся и ничего более, то он обрабатывал статику. Ну да, я тогда так матерился помню на эту панель, ух... Человек просто нажал кнопочку "включить" и всех виртхостов как небывало. Ну да, уповаем на панель... Которая тоже далеко не панацея.
Короче я к чему: не умеешь играть на гитаре - нехрен на площадь выходить и бренькать. А если уж что-то делать - так делать качественнос полным пониманием всего, а не "как попало". Вот как-то так. А посему нужно учиться жить не по мануалам и чьим-то советам "до буковки", а учиться пользоваться справочной документацией и расширять кругозор.
---------- Добавлено 06.02.2012 в 14:37 ----------
Там не придётся настройки php менять у каждого(!) виртхоста? Это он может сделать?
У него webmin, а не isp. Там это сделано более рпавильно ;).
Ну нет, млин. Я сейчас пойду и буду за тебя гуглить, мне оно надо? Я расскажу/покажу что-то не тривиальное, выпендрюсь перед коллегами (блесну знаниямИ) и помогу. Но то, что уже обсосано не один раз - уже перебор. Или давайте на каждом форуме спрашивать урл википедии (а зачем форумы, в гугле ж забанили, я там спрошу).
Одно - это лёгкий nginx, а другое - отдельный процесс apache с кучей модулей.
Левые модули из апача убить. И остаётся лёгкий апач... Я серьёзно... Всякие mod_proxy и иже с ними вообще не нужны обычно. А самое жрущее - mod_php, который вынесен в CGI... У меня один воркер апача кушает 2 Мбайта памяти, правда там нифига не префорк. Если серьёзно - даже апач ставится перед апачем же (!) для достижения того же эффекта, что и с nginx (!). Вот таки дела... Просто далеко не везде эта прокся нужна.
Сэкономит и в разы больше при достаточной посещаемости. Потому как процессы apache будут висеть ровно столько, сколько потребуется для выполнения скрипта.
А теперь переводим апач в режим Worker, ставим fcgi и получаем ту же картину, что и при nginx. Даже ещё выгоднее... ;). Зачем плодить еще один веб-сервер с отдельными конфигами, о которых надо помнить (!), о которых надо знать, а в случае с панелью возникают неописуемые фейлы время от времени благодаря разработчикам... ? Я даже больше хочу. Хотите на большую посещаемость и остаться с rewrite - ставьте lighttpd - вот это штука. Причём довольно большая преемственность инструкций и синтаксиса от апача (даже переписывать часто ничего не нужно).
это самое простое "лекарство", поэтому им и пользуются.
Олег, самое простое - потому, что куча манов написана. А когда делают "по мануалу", не понимая истоков - получается не всегда то, что надо. И это, между прочим, очень распространённое явление. так, например, без должного конфига Nginx в качестве reverse-proxy просто не даёт никакого эффекта в большинстве случаев. В случае же перенаправления обработки статики на него - потребуются дополнительные "прыжки с бубном", а если еще и доменов черти-сколько - это уже превращается в весьма неприятную задачу (если домены периодически добавляются). Ну и опять же дополнительная софтина, которая может заглючить, которую нужно обновлять, у которой может оказаться неожиданное "непереваривание" другого софта и т.п. Оно надо? Боюсь, в продакшн далеко не каждому. Это хорошо, что люди, которые ставят что-то только потому, что "где-то что-то слышали" не занимаются серьёзными проектами, могущими причинить при простое вред жизни людей или еще чего. Вот в CERN к примеру, админы бы так ставили софт... Было бы весело :)..
Можете представить цифры при 30-50 одновременных подключениях к web-серверу.
60 запросов в секунду с более чем 300 сайтами - достаточная нагрузка, для объективности? Я не пожалею один из своих хостинговых серверов в продакшне, только для того, чтобы вы убедились в бесполезности nginx в самом простом случае.
Но для рядового человека nginx действительно является самым простым решением.
Да. Писать конфиг для nginx и апача - довольно просто... А я думал, проще сконфигурировать только апач. да, на уровне "наш1л конфиг в интернете под другую систему, скопировал к себе и исправил пути" - просто. Но эффективность такого решения - нуль. Тем более, что разбираться потом, кто виноват и почему - с nginx сложнее. А ещё из-за этого оооочень часто возникают ошибки 502/504 (потому, что конфиг для большого сервака копируют к себе на ВПС или наоборот бездумно).
Не всегда он даст эффект, но вариант самый простой, который можно опробовать.
Т.е. "че тут думать, трясти надо", так чтоли?
префорк будет держать процессы, пока посетитель не получит данные от web-сервера. В случае с nginx такого не будет и отдавать контент будет уже nginx с его 1-2 процессами.
Да кто вам такое сказал?! :). Ну да, если поставить буферов у джинкса поболее - ну будет толк, но не на одном (!) хосте в час. И, кроме того, префорк не прибивает процессы после того, как они запущены! На то он и prefork (предварительно создаёт форки процессов, чтобы не создавать их при запросе). Но для джинксовых буферов тоже нужна память (!). Кстати, перевод PHP в режим CGI в данном случае сделает то же самое, что делает Nginx (представьте, ведь когда пых отработает - апачу останется только раздать страничку, т.к. пых из памяти выгрузится после генерации). Зачем плодить ещё одну точку отказа?
Apache есть смысл подкрутить, чтобы зря процессы не висели, когда памяти не много.
Да и такую штуку, как выгрузка ненужных модулей... Знаете, тоже хорошо и память и процессор экономит.
Стрельба из пушки по воробьям, блин. Будто от Nginx он сэкономит больше 10 мегабайт... Пичаль... А то, что он сам по себе эти же 10 метров отожрет никто не задумывается.
---------- Добавлено 06.02.2012 в 10:24 ----------
Естественно nginx не универсальное лекарство от потребления, когда речь о слабом сервере без нагрузки.
Вот-вот. И я о том же, что одним Nginx сыт не будешь.
Это правда. Но всё зависит от конкретного случая. Где-то nginx действительно даёт мало толка, но часто он действительно поможет.
да я разве спорю... Но этот VPS не отдаёт тонны статики (так говорят мои телепатические способности). Я не сторонник, когда ставят только потому, что "где-то слышали". Нет, на полном серьёзе подоплёка здесь только одна. Поэтому я здесь снёс бы мемкеш и nginx - памяти сразу стало бы больше. Ну и потом подкрутил апач, поставил бы нормальное max_clients, уменьшил бы размер стека (я еще с этим не задрал? :)), подкрутил мыскл... ну и запихал бы ОС в ~ 150 метров памяти.
Если недокачанным - вопрос, чем качаете. Будто софтинка прибивается, т.к. нет родительского процесса. Под кроном баш запускается для выполнения команды и прибивается после её выполнения. Добавьте в конец скрипта echo - должно помочь от этого (подозреваюю, что баш прибивается после выполнения последней команды, а т.к. для софтинки выглядит будто юзер вышел, который её запустил - она и умирает).