error_page 404 = @fallback;
location / { ...; }
location ~* ^.+\.(jpg|jpeg|gif|...) { ...; }
location @fallback {
proxy_pass http://127.0.0.1:81;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root /var/www/inky/data/www/somedocroot;
error_page 404 = @fallback;
}
....
location @fallback {
proxy_pass http://127.0.0.1:81;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
Вот это почитайте - http://habrahabr.ru/post/128772/
Если вкратце - то асинхронная модель не лучше и не хуже. У неё своя область применения. Например, запускать тяжелую математику внутри NodeJS-сервера - смерть всему и всем. А вот тяжелые запросы в БД из PHP вполне себе бодренько будут бегать по серверу (ну насколько для них это возможно).
Или хороший пример - из nginx-ового перла запросы в mysql-базу делать (да-да, он и такое может). Тогда он тоже начинает крайне отвратно работать)
То есть асинхронная модель (по крайней мере, в районе web-серверов/приложений) хороша только тогда, когда все запросы у вас быстро отрабатывают. Как то так.
(ну и как обычно - комментарии не менее ценны, чем статья).