Итак использую Node Gallery. Эта галерея работае с ImageCache. ImageCache нивкакую не хочет создавать превьюшки.
Вот конфиг, что я пробовал использовать:
listen _мой_ип_:80;
server_name _домен_;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~* ^.+\.(jpeg|jpg|png|js|css|zip|gz|bz2?|rar)$ {
root /home/nleo/www/drupal;
access_log /var/www/httpd-logs/_домен_.access.ng.log;
}
location ^~ /files/imagecache/ {
root /home/nleo/www/drupal;
index index.php index.html;
# assume a clean URL is requested, and rewrite to index.php
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?q=$1 last;
break;
}
}
}
в location ^~ /files/imagecache/ {...} пробовал:
location ^~ /files/imagecache/ {
root /home/nleo/www/drupal;
error_page 404 = [user=backend]backend[/user];
}
location [user=backend]backend[/user] {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
}
<---------------------------------------------------------------------------------------->
Вариант 3:
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
if (!-f $request_filename) {
proxy_pass http://127.0.0.1:8080;
}
root /home/nleo/www/drupal;
Обновил nginx с 0.4 до 0.6 и снова все попробовал - неработает. Может даже дело не nginx, потомучто вроде бы я уже на хостинге эксперементировал с ним, точно не помню.
Да еще в настройках галереи прописал пути отличные от стандартных используя %uid, %nid. Галерея кладет куда надо.
Сервер: Debian Apache Nginx
Комментарии
да в admin/build/imagecache/2 где должен быть предпросмотр кропнутого изображения тоже ничего не показывает
если открыть саму картинку, которая должны быть кропнутой, то nginx возвращает 404. Значит все-таки nginx
http://www.pankov.biz/blog/7/drupal-nginx-i-imagecache-gibkost-v-ushcher...
Похоже,nginx+apache есть зло для друпала.Как ни настраивай-глюки рано или поздно.
в общем сделал. но это пи...
отключил nginx, напрямую через апач тоже не работает. вынес подчистую модули(просто переустанавливать пробовал до этого), заново wget'ом (до этого через фтп распакованные заливал) вытянул модули с drupal.org, установл - заработало
чтобы работало через nginx в конфиге использовал следующее:
root /home/nleo/www/drupal;
access_log /var/www/httpd-logs/_домен_.access.ng.log;
error_page 404 = [user=backend]backend[/user];
}
location [user=backend]backend[/user] {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
}
Столкнулся с аналогичной проблемой, в случае работы imagecache через nginx ни в какую не находятся файлы:
2010/03/25 15:18:34 [error] 21585#0: *72 open() "/var/www/multisite/www/sites/example.ru/files/imagecache/taxonomy-image/category_pictures/zagorodnyy_dom.jpg" failed (2: No such file or directory), client: 91.210.4.1, server: example.ru, request: "GET /sites/example.ru/files/imagecache/taxonomy-image/category_pictures/zagorodnyy_dom.jpg HTTP/1.0", host: "example.ru", referrer: "http://example.ru/admin/content/taxonomy/taxonomy_image"
Хотя файл в каталоге лежит и доступен через порт апача - 81. Страно, но все остальные файлики, создаваемые не imagecache, тягаются без проблем...
Может кто нашел иное решение этой проблеме?
Все решилось с помощью вот этих настроек:
# imagecache needs to have php read any files that it's planning to manipulate
location ^~ /sites/drupal-6.x/files/imagecache/ {
index index.php index.html;
# assume a clean URL is requested, and rewrite to index.php
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?q=$1 last;
break;
}
}
написал хостеру, вот его ответ
"я убрал обработку картинок nginx для указанного домена, сейчас работать должно."
ПОМОГЛО !!! УРА )
и что надо писать хостеру?
Хостеру надо указань на его некомпетентность.
Есть решения более удачные, без делания nginx бесполезным: http://www.drupal.ru/node/15335
вопрос А nginx не поддерживает такие файлы настроек как htaccess apache? Помогите!
а я решил по другому - отослал хостеру просьбу отключить обработку картинок nginx'ом, т.к. много поддоменов и каждый раз просить настраивать на какую-нибудь папку - как-то нехошацца:
location ~* ^.+\.(ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|js)$ {
2 дня бился думал imagecache не работает) А оказывается у меня модуль ImageAPI требовал ImageMagick, который был не установлен)))
Может кому пригодится)))
Здраствуйте NLeo!
Я сталкнулся с этой же проблемой! После перехода на vds на nginx imagecache не работает.
Из того что я понел нужно всё это добавить в nginx.conf. Я пробовал и не работает. Просьба напишите целиком то что я должен добавить и может мне стоит ещё что нибудь сделать (перезагрузка сервера) чтобы заработал.
сайт veevo.ru, буду благодарен!