Здравствуйте, Maxim!
Thursday, October 18, 2007, 5:02:10 PM, you wrote:
>> MD> Совсем правильный ответ - перепроектировать систему так,
>> MD> чтобы location'ы с регулярными выражениями в конфиге отсутствовали.
>> потому что сопоставление запроса и регулярного выражения в location ~ \.php$
>> занимает слишком много ресурсов процессора, или почему такая рекомендация?
MD> Потому что они все проверяются для каждого запроса последовательно, внося
MD> оверхед пропроциональный количеству описанных location'ов с regexp'ами.
MD> Соответственно - такой подход не масштабируется.
Ok. а если location`ы сделать вложенными, [
http://www.lexa.ru/nginx-ru/msg13856.html ]
IS> http {
IS> server {
IS> location / {
IS> location /a/ {
IS> location ~ \.php$ {
...
location /b/ {
location ~ \.phtml$ {
...
то при запросе файла /b/2.phtml будет проверяться только один regexp. (?)
от location'ов с регулярными выражениями можно избавиться только
двумя способами - вынесением статики в отдельные server/location
и с помощью location @fallback (но здесь будут "лишние" syscalls) (?)
MD> Ну и по тем же причинам, о которых уже сказал Игорь - они вносят
MD> необходимость мучительно искать "а какая же конфигурация сработала".
MD> Собственно, раз в неделю возникающие вопросы "а почему у меня не
MD> включается авторизация на index.php" - это оно и есть.
причем в 99.99% случаев они хотят закрыть ip-фильтром/паролем admin-панель
сайта.
многие сайты, написанные на php, так просто на статику и динамику - не
разделить.
--
Best regards,
Gena mailto:makhomed@xxxxxxxxxxxxxx