2015-11-22 1 views
0

J'ai une mise en cache très agressive qui se passe (d'après ce que je peux dire) avec ma configuration.nginx + php5-fpm + mise en cache wordpress

Pour éliminer la mise en cache du navigateur possible, je demande un fichier CSS en utilisant boucle:

$ curl http://localhost:8080/wp-content/plugins/zip-recipes/plugins/VisitorRating/styles/css-stars.css?ver=4.3.1 
.br-theme-css-stars .br-widget { 
    height: 28px; 
} 
.br-theme-css-stars .br-widget a { 
    text-decoration: none; 
    height: 18px; 
    width: 18px; 
    float: left; 
    font-size: 23px; 
    margin-right: 2px; 
} 
.br-theme-css-stars .br-widget a:after { 
    content: "\2605"; 
    position: absolute; 
    color: #dddddd; 
} 
.br-theme-css-stars .br-widget a.br-active:after { 
    color: #ffdf88; 
} 
.br-theme-css-stars .br-widget a.br-selected:after { 
    color: #ffdf88; 
} 
.br-theme-css-stars .br-widget .br-current-rating { 
    display: none; 
} 

A partir du serveur, regardant /var/log/nginx/access.log, je peux voir que le fichier est demandé:

10.0.2.2 - - [22/Nov/2015:07:51:02 +0000] "GET /wp-content/plugins/zip-recipes/plugins/VisitorRating/styles/css-stars.css?ver=4.3.1 HTTP/1.1" 200 517 "-" "curl/7.43.0" 

Je cat le fichier sur le serveur:

$ cat /wordpress_env/wp-content/plugins/zip-recipes/plugins/VisitorRating/styles/css-stars.css 
.br-theme-css-stars .br-widget { 
    height: 28px; 
} 
.br-theme-css-stars .br-widget a { 
    text-decoration: none; 
    height: 18px; 
    width: 18px; 
    float: left; 
    font-size: 23px; 
    margin-right: 2px; 
} 
.br-theme-css-stars .br-widget a:after { 
    content: "\2605"; 
    position: absolute; 
    color: #dddddd; 
} 
.br-theme-css-stars .br-widget a.br-active:after { 
    color: #ffdf88; 
} 
.br-theme-css-stars .br-widget a.br-selected:after { 
    color: #CE0B15; 
} 
.br-theme-css-stars .br-widget .br-current-rating { 
    display: none; 
} 

Remarque , le dernier color: est différent de ce qui est retourné au navigateur.

Je ne suis pas sûr de ce cache, mais je besoin pour arrêter :)

Mise à jour: Voici le fichier de configuration nginx:

$ cat /etc/nginx/sites-enabled/wordpress 
server { 
     listen 8080; 


     root /wordpress_env; 
     index index.php index.html index.htm; 

     location/{ 
     expires -1; 
       try_files $uri $uri/ /index.php?q=$uri&$args; 
     } 

     error_page 404 /404.html; 

     error_page 500 502 503 504 /50x.html; 
     location = /50x.html { 
       root /usr/share/nginx/www; 
     } 

     location ~ \.php$ { 
       try_files $uri =404; 
       # With php5-fpm: 
       fastcgi_pass unix:/var/run/php5-fpm.sock; 
       fastcgi_index index.php; 
       include fastcgi_params; 
       } 


} 

Répondre

0

L'environnement que je suis en mon serveur dans est une machine VirtualBox en utilisant .

Il s'avère que tout cela a tout à voir avec parce que VirtualBox hates sendfile.

La solution a été de modifier /etc/nginx/nginx.conf et tourner sendfile off:

http { 

     ## 
     # Basic Settings 
     ## 

     sendfile off; 
     ... 
} 

Merci à ServerFault pour the answer.