Erro de cache NGINX: conflitos com o tamanho já declarado 0 em /etc/nginx/nginx.conf

3

Meu nginx atual para a configuração drupal fornece o seguinte erro. De alguma forma, não consigo ativar o cache nginx. Tentei diferente config mas horas extras eu recebo o mesmo erro. Alguém pode ajudar por favor?

nginx: [emerg] the size 5242880 of shared memory zone "MYAPP" conflicts with already declared size 0 in /etc/nginx/nginx.conf:51
nginx: configuration file /etc/nginx/nginx.conf test failed

Meu nginx.conf

user    nginx;
worker_processes    auto;
http {  include /etc/nginx/conf.d/*.conf;
include /etc/nginx/mime.types;
fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=MYAPP:5M max_size=256M inactive=2h;
fastcgi_cache_key “$scheme$request_method$host$request_uri”;
add_header X-Cache $upstream_cache_status;

## Set a cache_uid variable for authenticated users.
map $http_cookie $cache_uid {
    default nil; # hommage to Lisp :)
    ~SESS[[:alnum:]]+=(?<session_id>[[:alnum:]]+) $session_id;
}
map $request_method $no_cache {
default 1;
HEAD 0;
GET 0;
}

default.conf

server {
listen  80 default_server;
server_name abc.com;
root /srv/www/abc; ## <== Your only path reference.

#Cache everything by default
set $no_cache 0;
#Don’t cache POST requests
if ($request_method = POST)
{
set $no_cache 1;
}
#Don’t cache if the URL contains a query string
if ($query_string != “”)
{    set $no_cache 1;
}
#Don’t cache the following URLs
if ($request_uri ~* “/(administrator/|login.php)”)
{
set $no_cache 1;
}
#Don’t cache if there is a cookie called PHPSESSID
if ($http_cookie = “PHPSESSID”)
{
set $no_cache 1;
}

        location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_intercept_errors on;
fastcgi_pass   unix:/var/run/php-fpm/rldb.sock;
fastcgi_read_timeout 600;
fastcgi_cache MYAPP;
fastcgi_cache_valid 200 301 30s;
fastcgi_cache_bypass $no_cache;
fastcgi_no_cache $no_cache;
fastcgi_param HTTPS on;
fastcgi_buffer_size 256k;
fastcgi_buffers 256 32k;
fastcgi_connect_timeout 600;
fastcgi_send_timeout 600;

# Set cache key to include identifying components
fastcgi_cache_valid 302     1m;
fastcgi_cache_valid 404     1s;
fastcgi_cache_min_uses 1;
fastcgi_cache_use_stale error timeout invalid_header updating http_500;
fastcgi_ignore_headers Cache-Control Expires;
fastcgi_pass_header Set-Cookie;
fastcgi_pass_header Cookie;

## Add a cache miss/hit status header.
add_header X-Micro-Cache $upstream_cache_status;

## To avoid any interaction with the cache control headers we expire
## everything on this location immediately.
expires epoch;

## Cache locking mechanism for protecting the backend of too many
## simultaneous requests.
fastcgi_cache_lock on;
}
    
por Tapash 24.03.2015 / 11:47

1 resposta

4

Coloque include /etc/nginx/conf.d/*.conf; após a declaração de cache, não antes.

    
por 24.03.2015 / 13:45