![]() |
|
![]() ![]() ![]() |
|
Хоббит |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1263 Регистрация: 6.11.2005 Репутация: нет Всего: 1 |
Надо поставить nginx фронтэндом к апачу, чтобы он отдавал статику. Но файл статический может не существовать, тогда запроса надо передать пхп скрипту, который этот файл создаст и вернет.
Когда был 1 апач, это делалось с помошью rewrite_mod, проверялось, если файл есть, то его возращал апач сразу, если нет, то редирект на скрипт. Есть ли такие возможности в nginx. |
|||
|
||||
Хоббит |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1263 Регистрация: 6.11.2005 Репутация: нет Всего: 1 |
В nginx есть http_rewrite_module, но мне надо сделать следующее.
RewriteCond $1 !^cached RewriteCond %{DOCUMENT_ROOT}/image/cached/$1 !-f RewriteRule ^image/(.*)$ ./dynimage.php RewriteCond $1 !^cached RewriteRule ^image/(.*)$ ./image/cached/$1 Поясню. Если запрашивается картинка /image, и файла в папке /image/cached/остальной_путь нет и разумется после image идет не cached, то отправить на скрипт dynimage.php. |
|||
|
||||
Хоббит |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1263 Регистрация: 6.11.2005 Репутация: нет Всего: 1 |
Справился так. В определении server {...}
root /var/www/path_to_root // Если в uri есть image то вырезаем путь к картинке (все что после image) if ($request_uri ~* "image/(.*)$") { set $image_path $1; } // Если картинка существует, то отдаем ее if (-f $document_root/image/cached/$image_path) { rewrite ^(.+)$ /image/cached/$image_path break; } // Иначе запрос идет к апачу. location / { proxy_pass http://apache_host:8080 } Но что то мне этот способ корявым кажется. Во первых правильно ли отдавать картинку с помощью rewrite И можно ли это записать в 1 условие а не в 2. |
|||
|
||||
Хоббит |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1263 Регистрация: 6.11.2005 Репутация: нет Всего: 1 |
Объединить 2 условия в одно нельзя. Необходимо делать, как я написал. Нашел ответ в рассылке по nginx.
Это сообщение отредактировал(а) Хоббит - 26.11.2008, 19:23 |
|||
|
||||
rapaman |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 23.1.2008 Где: Украина, Россия Репутация: нет Всего: нет |
Это можно собрать и в один location.
|
|||
|
||||
Хоббит |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1263 Регистрация: 6.11.2005 Репутация: нет Всего: 1 |
Пример бы привел.
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |