Masalah cache pembangunan Nginx + Laravel5.
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-16 16:55:51
0
6
541

Hello semua, saya di sini untuk bertanya soalan lain.
Masalah saya ialah caching halaman.
Keadaannya adalah seperti berikut:

  1. Persekitaran saya ialah pakej penggunaan satu klik Linux Mint+LNMP1.2
  2. Setiap kali saya mengubah suai fail secara setempat, ia sentiasa mengambil masa 1 minit untuk memuat semula halaman sebelum ia berkuat kuasa.
  3. Atau mungkin setiap kali saya memasukkan sudo lnmp restart di terminal, ia akan berkuat kuasa selepas menyegarkan (bukankah ini bodoh, saya telah memulakan semula...)

Kemudian soalan datang,
Bagaimanakah saya boleh menutup masalah cache ini? ?
Setiap kali pembangunan tempatan menyusahkan,
Siarkan vhost.conf

saya
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;
    }

Yang berikut adalah milik sayanginx.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;
}

Terima kasih kerana menjawab soalan saya. . Terima kasih...

曾经蜡笔没有小新
曾经蜡笔没有小新

membalas semua(6)
刘奇

Bergantung pada situasi, ia mestilah cache ZendOpcache PHP Anda boleh mengubah suai konfigurasi php.ini:

opcache.revalidate_freq=60 Pengesyoran rasmi adalah untuk menetapkannya kepada 60 saat.
Ini bermakna apabila skrip diakses semula selepas 60 saat, cap waktu fail PHP akan dikesan, dan jika terdapat sebarang perubahan, cache opcode akan dikemas kini.
Ia boleh ditetapkan kepada 0, supaya cap masa fail akan dikesan setiap kali ia diakses dan pengubahsuaian akan berkuat kuasa apabila diakses.

Atau matikan ZendOpcache:
opcache.enable=0

Atau tambahkan direktori tempat projek itu terletak ke senarai hitam untuk mengelakkan caching:
opcache.blacklist_filename=/png/www/example.com/blacklist
kandungan senarai hitam, seperti:
/png/www/example.com/public_html/

我想大声告诉你

Apakah fail yang diubah suai? Fail templat akan mengemas kini cache secara automatik Fail sumber statik mungkin dalam cache penyemak imbas. Cuba paksa muat semula.

过去多啦不再A梦
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
漂亮男人

Hujung depan atau belakang yang diubah suai.
Jika ia adalah fail bahagian hadapan, anda boleh menyemak tetapan penyemak imbas untuk melihat sama ada Cache Disable

伊谢尔伦

Jawapan betul di tingkat dua, persekitaran pembangunan umum tidak perlu mendayakan opcache

迷茫

Persekitaran pembangunan disyorkan ditutupOpcache. Ia lebih sesuai untuk persekitaran pengeluaran.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan