recherche

Maison  >  Questions et réponses  >  le corps du texte

Problème de cache de développement Nginx + Laravel5.

Bonjour à tous, je suis ici pour poser une autre question.
Mon problème est la mise en cache des pages.
La situation est la suivante :

  1. Mon environnement est Linux Mint+LNMP1.2, package de déploiement en un clic
  2. Chaque fois que je modifie un fichier localement, il faut toujours 1 minute pour actualiser la page avant que cela ne prenne effet.
  3. Ou peut-être qu'à chaque fois que je saisis sudo lnmp restart dans le terminal, cela prendra effet après actualisation (n'est-ce pas stupide, j'ai redémarré...)

Puis la question vient,
Comment puis-je résoudre ce problème de cache ? ?
Chaque fois que le développement local est problématique,
Publier mon vhost.conf

server
    {
        listen 80;
        #listen [::]:80;
        server_name x.x ;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/millyn/www/x.x/public;

        include other.conf;
        #error_page   404   /404.html;
        location /
        {
        try_files $uri $uri/ /index.php?$query_string;
        }
        location ~ [^/]\.php(/|$)
        {
            # comment try_files $uri =404; to enable pathinfo
            #try_files $uri =404;
            fastcgi_pass  unix:/tmp/php-cgi.sock;
            fastcgi_index index.php;
            include fastcgi.conf;
            #include pathinfo.conf;
            add_header Cache-Control 'no-store';
        }

       # location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
       # {
       #     expires      30d;
       # }

       # location ~ .*\.(js|css)?$
       # {
       #     expires      12h;
       # }

        access_log  /home/wwwlogs/x.x.log  access;
    }

Ce qui suit est à moinginx.conf

user  www www;

worker_processes auto;

error_log  /home/wwwlogs/nginx_error.log  info;

pid        /usr/local/nginx/logs/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;

events
    {
        use epoll;
        worker_connections 51200;
        multi_accept on;
    }

http
    {
        include       mime.types;
        default_type  application/octet-stream;

        server_names_hash_bucket_size 128;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 50m;

        sendfile   on;
        tcp_nopush on;

        keepalive_timeout 60;

        tcp_nodelay on;

        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;

        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";

        #limit_conn_zone $binary_remote_addr zone=perip:10m;
        ##If enable limit_conn_zone,add "limit_conn perip 10;" to server section.

        server_tokens off;
        #log format
        log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';
        access_log off;

server
    {
        listen 80 default_server;
        #listen [::]:80 default_server ipv6only=on;
        server_name www.lnmp.org;
        index index.html index.htm index.php;
        root  /home/wwwroot/default;

        #error_page   404   /404.html;
        include enable-php.conf;

        location /nginx_status
        {
            stub_status on;
            access_log   off;
        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /home/wwwlogs/access.log  access;
    }
include vhost/*.conf;
}

Merci d'avoir répondu à mes questions. . Merci...

曾经蜡笔没有小新曾经蜡笔没有小新2747 Il y a quelques jours537

répondre à tous(6)je répondrai

  • 怪我咯

    怪我咯2017-05-16 16:57:51

    Selon la situation, il devrait s'agir du cache ZendOpcache de PHP. Vous pouvez modifier la configuration du php.ini :

    opcache.revalidate_freq=60 La recommandation officielle est de le définir sur 60 secondes.
    Cela signifie que lorsque vous accédez à nouveau au script après 60 secondes, l'horodatage du fichier PHP sera détecté et, en cas de changement, le cache d'opcode sera mis à jour.
    Il peut être réglé sur 0, de sorte que l'horodatage du fichier soit détecté à chaque accès et que la modification prenne effet lors de l'accès.

    Ou désactivez ZendOpcache :
    opcache.enable=0

    Ou ajoutez le répertoire du projet à la liste noire pour éviter la mise en cache :
    opcache.blacklist_filename=/png/www/example.com/blacklist
    contenu de liste noire, tel que :
    /png/www/example.com/public_html/

    répondre
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-16 16:57:51

    Quels fichiers ont été modifiés ? Le fichier modèle mettra automatiquement à jour le cache. Le fichier de ressources statiques peut être dans le cache du navigateur. Essayez de forcer une actualisation.

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 16:57:51

    shellvim /usr/local/php/etc/php.ini
    
    下面全部注释掉
    ;opcache
    [Zend Opcache]
    ;zend_extension=opcache.so
    ;opcache.memory_consumption=128
    ;opcache.interned_strings_buffer=8
    ;opcache.max_accelerated_files=4000
    ;opcache.revalidate_freq=60
    ;opcache.fast_shutdown=1
    ;opcache.enable_cli=1
    ;opcache end
    
    ;xcache
    ;xcache end
    

    répondre
    0
  • 漂亮男人

    漂亮男人2017-05-16 16:57:51

    Le front-end ou back-end modifié.
    S'il s'agit d'un fichier frontal, vous pouvez vérifier les paramètres du navigateur pour voir si le cache est désactivé

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 16:57:51

    Réponse correcte au deuxième étage, l'environnement de développement général n'a pas besoin d'activer opcache

    répondre
    0
  • 迷茫

    迷茫2017-05-16 16:57:51

    Il est recommandé de fermer l'environnement de développementOpcache. Il est plus adapté à l'environnement de production.

    répondre
    0
  • Annulerrépondre