Весь интернет облазил. Методом тыка подстановка вариантов из интернета не работает.
есть три конфига где к примеру название сайта test.ru на НикХосте какой надо править и что вставить наверняка:
Nginx в качестве front-end для посетителей сайтов. Back-end’ом будет выступать Apache.
/home/test/etc/nginx/test.vhost.conf
/home/test/etc/rc.d/nginx
/home/test/nginx/nginx.conf
/home/test/test.ru/conf/virtyal.conf.manual
Плиз!!!
Комментарии
Опять вы перепутали д.ру с форумом битвы экстрасенсов...
В nginx надо сделать в настройках соoтвествующего хоста локейшен типа такого:
try_files $uri /index.php?q=$uri;
expires max;
}
немого дописал вот так или не стоит?
location ~ ^/sites/.*/files/imagecache/.+\.(png|jpeg|jpg|gif)$ {
try_files $uri /index.php?q=$uri;
expires max;
}
Подскажите пожалуйста и в какой из четырех конфигов вставить этот код?
все спасибо большое заработало!!!!!!!!!!!!!!!
вот часть конфига nginx.conf может пригодиться кому нибудь
# NGINX Server configuration
worker_processes 2;
timer_resolution 100ms;
worker_rlimit_nofile 10000;
worker_rlimit_sigpending 32768;
worker_priority -10;
error_log /home/test/logs/error.log;
pid /home/test/logs/nginx.pid;
events {
worker_connections 3000;
}
http {
include /usr/local/etc/nginx/mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 64;
#log_format main '$remote_addr - $remote_user [$time_local] $request '
# '"$status" $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
access_log /home/test/logs/access.log combined;
sendfile on;
sendfile_max_chunk 128k;
access_log off;
log_not_found off;
tcp_nopush on;
tcp_nodelay on;
reset_timedout_connection on;
server_tokens off;
gzip on;
gzip_static on;
gzip_buffers 12 32k;
gzip_types text/plain application/x-javascript text/css text/xml;
keepalive_timeout 7;
client_header_timeout 3m;
client_body_timeout 3m;
client_max_body_size 500m;
client_body_buffer_size 128k;
# First Site configuration
#SERVER_TEMPLATE
server {
listen 111.222.333.111:80;
server_name test.ru www. test.ru;
#charset koi8-r;
access_log /home/foodle/logs/access.log combined;
location / {
proxy_pass http:// 111.222.333.111: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;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
location ~ ^/sites/.*/files/backup_migrate/manual/ {
deny all;
}
location ~ ^/sites/default/files/imagecache/.+\.(png|jpeg|jpg|gif)$ {
try_files $uri /index.php?q=$uri;
expires max;
}
# Static files location
location ~* ^.+\.(jpg|jpeg|gif|png|ico|mp3|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|dat|avi|ppt|txt|tar|mid|midi|wav|bmp|rtf|wmv|mpeg|mpg|tbz|js)$ {
root /home/test/test.ru/docs/$subdomain;
access_log off;
expires 30d;
set $subdomain "";
if ($host ~* ^([a-z0-9-\.]+)\.test.ru$) {
set $subdomain "subdmn/$1";
}
if ($host ~* ^www.test.ru$) {
set $subdomain "";
}
}
}
В тот, в котором описан нужный vhost или его локешены. Точнее по вашим данным не скажу.
Спасибо БОЛЬШОЕ!!! помогло вставил в nginx.conf
/home/test/nginx/nginx.conf
мне не помогло
Кто, о чём?
В общем, судя по заголовку, отвечаю.
Надо создать локейшн, который бы обрабатывал 404 ошибку. Картинки генерируются скриптом, потому они не отдаются nginx, их попросту негде брать. Значит, при возникновении 404 должен запрашиваться Апач.
Здесь можно почитать как настраивать. Вопрос достаточно распространенный, поэтому и решил написать небольшой пост.