Re: nginx и post-зап росы
ну сейчас она итак отдается nginx'ом с фронтенда. сервакам сильно полегчало. AM Подозрительно всё это. apache отдает статику неплохо сам по себе. плохо он отдает статику. по сравнению с nginx во всяком случае вот домашний говносервер (P3-700) с апачем. апач на нем стоит (стоял) года три: жена кладет в директорию фотографии (и прочий мусор) когда хочет чтобы кто-то их скачал. воркер настроен по дефолту (на максимум 150 клиентов ЕМНИП (да много для такого, понимаю)), никаких CGI/mod_хрень не было (не нужно ей это ничего: ей надо файл положить и дать ссылку кому-то). на nginx перелез когда этот сервак лег: она имела несоторожность пару фоток какого-то нового изделия выложить на посещаемый форум: сколько-то человек просто посмотрело страничку про вязание и не увидело фотографию, поскольку на предыдущих человеках сервак уже лежал. поставил nginx не думая о тюнинге и попросил ее для теста там же выложить еще пяток фоток. поглядел что все ок и забыл о проблеме. а подробнее с настройкой nginx стал разбираться только сейчас :) правда теперь опять видимо на год-два подробное разбирательство уедет: насущную проблему решил, а пока новая не появится вроде и смысла нет глубже разбираться. лучше вот тут пофлеймить ;) -- ... mpd is off . ''`. Dmitry E. Oboukhov : :’ : email: un...@debian.org jabber://un...@uvw.ru `. `~’ GPGKey: 1024D / F8E26537 2006-11-21 `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537 signature.asc Description: Digital signature
Re: nginx и post-зап росы
ну сейчас она итак отдается nginx'ом с фронтенда. сервакам сильно полегчало. AM Подозрительно всё это. apache отдает статику неплохо сам по себе. плохо он отдает статику. по сравнению с nginx во всяком случае AM Тюнить пробовалось? если бы очевидное решение перед носом не валялось попробовалось бы. а кстати, какие предложения в описанном ниже случае? вот домашний говносервер (P3-700) с апачем. апач на нем стоит (стоял) года три: жена кладет в директорию фотографии (и прочий мусор) когда хочет чтобы кто-то их скачал. воркер настроен по дефолту (на максимум 150 клиентов ЕМНИП (да много для такого, понимаю)), никаких CGI/mod_хрень AM 150 коннетов на воркер - это чтоб вечно текущие php скрипты всю память не AM сожрали. тама не было php вообще. только статика png/avi/jpg/gif итп не было (не нужно ей это ничего: ей надо файл положить и дать ссылку кому-то). на nginx перелез когда этот сервак лег: она имела несоторожность пару фоток какого-то нового изделия выложить на посещаемый форум: сколько-то человек просто посмотрело страничку про вязание и не увидело фотографию, поскольку на предыдущих человеках сервак уже лежал. AM Ну тут думать надо, прежде чем выкладывать. Для выкладки картинок в AM нагруженые форумы есть более подходящие методы - выложить скажем в coral AM cdn. читать - тут http://habrahabr.ru/blogs/i_recommend/82739/ поставил nginx не думая о тюнинге и попросил ее для теста там же выложить еще пяток фоток. поглядел что все ок и забыл о проблеме. AM Логично, nginx помог только тем, что у него нету модели апачи: AM один воркер - один клиент. AM Или ставить второй апач с thread моделью воркера или вобще какой thttpd. а треды - те же процессы только облегченные. то бишь проблема не решается, а ослабляется. -- ... mpd is off . ''`. Dmitry E. Oboukhov : :’ : email: un...@debian.org jabber://un...@uvw.ru `. `~’ GPGKey: 1024D / F8E26537 2006-11-21 `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537 signature.asc Description: Digital signature
Re: nginx и post-зап росы
ну сейчас она итак отдается nginx'ом с фронтенда. сервакам сильно полегчало. AM Подозрительно всё это. apache отдает статику неплохо сам по себе. плохо он отдает статику. по сравнению с nginx во всяком случае AM Тюнить пробовалось? если бы очевидное решение перед носом не валялось попробовалось бы. а кстати, какие предложения в описанном ниже случае? AM Написал же внизу. thttpd + включить в нем sendfile. Или lighttpd + sendfile. нет. ты говорил апач хорошо умеет статику, вопрос был именно в этом контексте. а lighttpd и thttpd это уже не потюнить апач, а заменить апач. Соответственно я и заменил его на nginx (потому что был в тот момент на слуху и то что требовалось от него умел.) ну и можно конечно в табличку сравнений поглядеть и вообще выбрать какой-нидь чероке или лайти или тхттп. но если речь уже пойдет о выборе между ними это значит опять надо что-то в консерватории править :) поставил nginx не думая о тюнинге и попросил ее для теста там же выложить еще пяток фоток. поглядел что все ок и забыл о проблеме. AM Логично, nginx помог только тем, что у него нету модели апачи: AM один воркер - один клиент. AM Или ставить второй апач с thread моделью воркера или вобще какой thttpd. а треды - те же процессы только облегченные. то бишь проблема не решается, а ослабляется. AM Ну так и nginx с его FSM моделью - тож её ослабляет. Следующим узким местом AM станет или канал или скорость отдачи с диска. ну вот. а до этого узким местом была память и CPU. смена сервера привела к тому что узкие места - канал и диск. то есть проблема ослаблена до того что решена. диалектика. переход количества в качество ;) -- ... mpd is off . ''`. Dmitry E. Oboukhov : :’ : email: un...@debian.org jabber://un...@uvw.ru `. `~’ GPGKey: 1024D / F8E26537 2006-11-21 `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537 signature.asc Description: Digital signature
Re: nginx и post-зап росы
нечто вроде того что делаем POST http://url/имя.файла.txt, а на деле вызывается CGI который отдает содержимое файла. Эта фигня используется чтобы обмануть старые браузеры и заставить их скачивать корректные имена файлов. AM Эээ, может правильней писать - корявые скрипты, авторы которых не асилили AM правильно выдать имя файла? Или у вас документально завялена поддержка AM Misaic и HTTP/0.9 до скончания веков задарма? есть проблема в IE версии 6. на нем еще сколько-то корпоративных клиентов сидит а у него с русскими символами в имени файла еще туго. вот пока этот хак и вертится... местами. но вопрос собственно не об этом так вот, location'ов на все такие места прописывать слишком много (надо разгребать что там пользователи в подкаталогах с .htaccess намутили), а можно ли nginx заставить всегда проксировать POST-запросы? AM Заставить то можно, только внимание вопрос - а нафига в этой схеме nginx? AM Нонче круто всё делать чрез nginx? статика там - 2/3 нагрузки. соответственно nginx ее берет на себя, а динамику на бакенде апач... я пока извернулся следующим образом: location / { root /path/to; try_files $uri @post; } location @post { proxy_pass http://localhost:80; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } но для этого пришлось слезть с стейбла в тестинг, ибо стейбловский nginx try_files еще не поддерживал, но... не очень нравится мне это AM PS: Предвидя праведные вопли если вам нефиг сказать - чо лезем, я сам очень люблю влезть в таком стиле, так что спокойно отношусь к аналогичным влазиньям :) если бы на письмо никто не ответил совсем было бы грусно :) AM отвечаю - AM если бы чукча умел читать документацию и не был бы забанен на гугле - то найти AM кусок конфига с использованием try_files (http://forum.nginx.org/read.php?2,4893,4924) AM смог бы сам, но - увы. да, это-то я сразу нашел. но тут не очень хорошо что получается все что он не найдет пройдет через бакенд. а это нехорошо. большинство запросов - GET. если бы была возможность форварднуть только POST, то все (большинство) 404/403 что возможны остались бы на nginx AM PPS: Да, идея отдавать через cgi то, что можно отдать nginx'ом через AM X-Accel-Redirect - ущербна еще более... Впрочем - поддержка cgi в наше вермя AM вобще смахивает на бред сумашедшего. cgi там вещь историческая, а X-Accel-Redirect не подходит, там файло генерится всякий раз новое. нет места где статика там лежит. -- ... mpd is off . ''`. Dmitry E. Oboukhov : :’ : email: un...@debian.org jabber://un...@uvw.ru `. `~’ GPGKey: 1024D / F8E26537 2006-11-21 `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537 signature.asc Description: Digital signature
Re: nginx и post-зап росы
AM Эээ, может правильней писать - корявые скрипты, авторы которых не асилили AM правильно выдать имя файла? Или у вас документально завялена поддержка AM Misaic и HTTP/0.9 до скончания веков задарма? есть проблема в IE версии 6. на нем еще сколько-то корпоративных клиентов сидит а у него с русскими символами в имени файла еще туго. вот пока этот хак и вертится... местами. AM Это проблема клиентов. Есть куча вменяемых браузеров, а не это AM неподдерживаемое M$ решето с кучкой кривых эктив-иксов. клиенты приносят бабло. соответственно им можно выдать рекомендацию, но ... не неработающий сервис :) но вопрос собственно не об этом так вот, location'ов на все такие места прописывать слишком много (надо разгребать что там пользователи в подкаталогах с .htaccess намутили), а можно ли nginx заставить всегда проксировать POST-запросы? AM Заставить то можно, только внимание вопрос - а нафига в этой схеме nginx? AM Нонче круто всё делать чрез nginx? статика там - 2/3 нагрузки. соответственно nginx ее берет на себя, а динамику на бакенде апач... AM Вынести статику на отдельный домен, и отдавать её nginx'ом. ну сейчас она итак отдается nginx'ом с фронтенда. сервакам сильно полегчало. но для этого пришлось слезть с стейбла в тестинг, ибо стейбловский nginx try_files еще не поддерживал, но... не очень нравится мне это AM ой, шо ви говорите. У нас stable == протухло до момента релиза stable. AM Можно было и не слезать в тестиг - просто пересобрать пакет для lenny, благо AM развесистых зависиомстей оно не тянет. Так-же, можно еще обнаружить, что AM libapache2-mod-rpaf у нас, , даже не третей, пятой свежести. ну свежесть она становится необходима только когда утыкаешься во что-то неработающее :) AM PS: Предвидя праведные вопли если вам нефиг сказать - чо лезем, да, это-то я сразу нашел. но тут не очень хорошо что получается все что он не найдет пройдет через бакенд. а это нехорошо. большинство запросов - GET. если бы была возможность форварднуть только POST, то все (большинство) 404/403 что возможны остались бы на nginx AM Ну ведь чукча не читатель, да? Если бы чукча был читатаель, он бы заметил, AM что POST в статику вызывает 405 ошибку, которую через error_page 405 можно AM куда засунуть? Правильно - в именованый location с набором proxy_pass co. вот спасибо. я про 405 (вернее про использование для этого error_page) как-то несообразил. можно видимо и со stable не слезать :) AM PPS: Да, идея отдавать через cgi то, что можно отдать nginx'ом через AM X-Accel-Redirect - ущербна еще более... Впрочем - поддержка cgi в наше вермя AM вобще смахивает на бред сумашедшего. cgi там вещь историческая, а X-Accel-Redirect не подходит, там файло AM Историческим вещам место в музее... не. им место там где они приносят больше бабла. а в музеях много бабла не срубишь, да и это уже другой бизнес. -- ... mpd is off . ''`. Dmitry E. Oboukhov : :’ : email: un...@debian.org jabber://un...@uvw.ru `. `~’ GPGKey: 1024D / F8E26537 2006-11-21 `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537 signature.asc Description: Digital signature