|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Oleg Gawriloff 2:450/118 28 Jul 2006 17:03:06 To : All Subject : nginx + apache -------------------------------------------------------------------------------- Таки поднял сабжевую связку, как здесь рекомендовали. Т.е. на фронтенде nginx, который отдает статику. Все остальные запросы форвадяться на апач с mod_rpaf. С первого взгляда все замечательно, нагрузка на сервер резко упала. Однако при дальнейшей работы вылезли проблемы. В основном с rewrite-правилами апача. Может ли кто посоветовать как решать следующие проблемы или посоветовать аналогичный nginx веб-сервер в котором таких проблем нет (если такого нет, придеться использовать апач с отключенным mod_php). 1. Поддержка синтаксиса rewrite-правил аналогичного апачу. Ибо конвертировать из одного в другой руками работа весьма нудная, и всякие различия в их обработке не первый взгялд не видны. 2. Поддержка подчитывания rewrite-правил из .htaccess. Ибо это конечно можно сделать один раз и забить в конфиге nginxa аналоги правил rewrite из апача. Однако в случае хостинга с >100 сайтов различных веб-девелоперских контор, на котором идет активная работа с этими правилами и каждые день они меняются приходиться выделять отдельного человека на внесение таких изменений в конфиг nginxa, что не позволяет говорить о масштабируемости в принципе. 3. Отработка if/rewrite правил внутри Location с регэкспом. Я не понимаю почему это запрещено. Пример: : location ~* ^.+.(swf|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar |mid|midi|wav|bmp|rtf|js)$ { root /www/data; } Все бы хорошо. Однако ссылки вида http://www.fordmotor.by/news/general/ford/~page__m11=1~news__m11=291.txt реально являются динамическими. Здесь бы очень сильно спас блок внутри данного location вида: if (!-f $request_filename) { break; proxy_pass http://<ип адрес и порт бакенда на апаче> } И пусть апач сам разбирается: если динамический то генерирует объект, если реально нет, тогда возвращает 404. Как тут быть? 4. Еще нужен аналог !-d апача, тоже используется. В nginxe такого нет. Как с этим в lighthttpd/phhttpd? With best regards, Oleg Gawriloff. --- Microsoft Outlook Express 6.00.2900.2869 * Origin: Atlant Telecom (2:450/118.0) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/47245a32a63a9.html, оценка из 5, голосов 10
|