Nginx fastcgi cache – пример конфига

Nginx fastcgi cache – пример конфига с

user www-data www-data;
worker_processes 1;
lock_file /run/lock/nginx.lock;
events {
	worker_connections 1024;
}
http {
	server_tokens off;
	sendfile on;
	tcp_nopush on;
	keepalive_timeout 5;
	include /etc/nginx/mime.types;
	default_type application/octet-stream;
	gzip on;
	gzip_static on;
	gzip_comp_level 2;
	gzip_disable "msie6";
	gzip_proxied any;
	gzip_types application/javascript application/json application/vnd.ms-fontobject application/x-font-ttf image/svg+xml text/css text/plain text/xml;
	gzip_vary on;
	fastcgi_cache_path /var/cache/nginxfastcgi levels=1:2 keys_zone=fastcgicache:10m inactive=10m max_size=64m;
	fastcgi_cache_key $scheme$request_method$host$request_uri;
	# note: can also use HTTP headers to form the cache key, e.g.
	#fastcgi_cache_key $scheme$request_method$host$request_uri$http_x_custom_header;
	fastcgi_cache_lock on;
	fastcgi_cache_use_stale error timeout invalid_header updating http_500;
	fastcgi_cache_valid 5m;
	fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
	index index.php;
	server {
		listen 127.0.0.1:80;
		server_name sitename.com;
		root /var/www/sitename.com;
		access_log /var/log/nginx/access.log;
		error_log /var/log/nginx/error.log;
		# example FastCGI cache exception rules
		set $fastcgi_skipcache 0;
		if ($query_string) {
			set $fastcgi_skipcache 1;
		}
		if ($http_x_custom_header) {
			set $fastcgi_skipcache 0;
		}
		if ($uri ~ "/path/matches/") {
			set $fastcgi_skipcache 1;
		}
		if ($http_cookie ~ "users_login_cookie") {
			set $fastcgi_skipcache 1;
		}
		include /etc/nginx/conf/phpfastcgicache;
		location / {
			try_files $uri $uri/ /index.php?$query_string;
		}
		location ~ "\.php$" {
			fastcgi_index index.php;
			if (!-f $realpath_root$fastcgi_script_name) {
				return 404;
			}
			# note: adds a HTTP response header "X-Cache" returning HIT/MISS/BYPASS/EXPIRED for cache use status
			add_header X-Cache $upstream_cache_status;
			fastcgi_cache fastcgicache;
			fastcgi_cache_bypass $fastcgi_skipcache;
			fastcgi_no_cache $fastcgi_skipcache;
			include /etc/nginx/fastcgi_params;
			fastcgi_pass unix:/run/php5/php-fpm.sock;
		}
	}
}
Опубликовано в Nginx

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

 

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.