Кэширование на tmpfs

WolfTheGrey nginx-forum at nginx.us
Mon May 4 13:03:11 UTC 2015


Здравствуйте,

Помогите, пожалуйста.

Пролема с настройками кэширования, которую никак не могу победить - не
создаются файлы в кэше.

Создан tmpfs раздел на 512 мегабайт, примонтирован в /var/cache/nginx/img/.
Временная папка nginx на нём создается без проблем при перезапуске nginx.
Права на папку кэша (/var/cache/nginx/) и вложенные 777, владельцем
выставлен пользователь, от имени которого запущен nginx www-data:www-data.
Права и владелец применялись рекурсивно.

Сервер будет раздавать большое количество картинок формата jpg,png - их и
нужно кэшировать

Стоит связка nginx (1.2.1 из Debian7) + apache + php

Конфиг прописан следующий

server {
	listen 80;
	server_name example.com;

	access_log /home/example/log/nginx_access.log;
	error_log /home/example/log/nginx_error.log debug;

	proxy_ignore_headers "Expires" "Cache-Control" "Set-Cookie";

	location / {
		proxy_pass http://127.0.0.1:81;
		include /etc/nginx/conf.d/proxy.conf;
	}

	location ~* \.(gif|css|ico|bmp|swf|js)$ {
		root /home/example/public_html/;
	}

	location ~* \.(jpg|jpeg|png)$ {
		root /home/example/public_html/;
		proxy_cache img;
		proxy_cache_valid 200 304 1d;
		proxy_cache_min_uses 1;
	}
}

nginx.conf

user www-data;
worker_processes 4;
pid /var/run/nginx.pid;

events {
	worker_connections 768;
	# multi_accept on;
}

http {

	##
	# Basic Settings
	##
	
	client_max_body_size 100m;	
	sendfile on;
	tcp_nopush on;
	tcp_nodelay on;
	keepalive_timeout 65;
	types_hash_max_size 2048;
	# server_tokens off;

	# server_names_hash_bucket_size 64;
	# server_name_in_redirect off;

	include /etc/nginx/mime.types;
	default_type application/octet-stream;

	##
	# Logging Settings
	##

	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log;

	##
	# Gzip Settings
	##

	gzip on;
	gzip_disable "msie6";

	# gzip_vary on;
	# gzip_proxied any;
	# gzip_comp_level 6;
	# gzip_buffers 16 8k;
	# gzip_http_version 1.1;
	# gzip_types text/plain text/css application/json application/x-javascript
text/xml application/xml application/xml+rss text/javascript;

	##
	# nginx-naxsi config
	##
	# Uncomment it if you installed nginx-naxsi
	##

	#include /etc/nginx/naxsi_core.rules;

	##
	# nginx-passenger config
	##
	# Uncomment it if you installed nginx-passenger
	##
	
	#passenger_root /usr;
	#passenger_ruby /usr/bin/ruby;

	##
	# Virtual Host Configs
	##

	proxy_cache_path /var/cache/nginx/img levels=1:2 keys_zone=img:64m
inactive=3d max_size=450m;
	proxy_temp_path /var/cache/nginx/img/temp;

	include /etc/nginx/conf.d/*.conf;
	include /etc/nginx/sites-enabled/*;

}

Курение debug лога ничего не дает. Ни слова о cache при запросе картинки, но
видно что выбирается нужная конфигурация using configuration
"\.(jpg|jpeg|png)$"

При прямом запросе картинки ответ от сервера получаю от nginx 200 или 304

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,258607,258607#msg-258607



Подробная информация о списке рассылки nginx-ru