Hello everyone, I am here to ask another question.
My problem is page caching.
details as following:
Then here comes the question,
How can I close this cache problem? ?
Every time local development is troublesome,
Post my 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;
}
The following is my nginx.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;
}
Thank you for answering my questions. . Thanks...
Depending on the situation, it should be PHP’s ZendOpcache cache. You can modify the php.ini configuration:
opcache.revalidate_freq=60 The official recommendation is to set it to 60 seconds.
It means that when the script is accessed again after 60 seconds, the timestamp of the PHP file will be detected, and if there is any change, the opcode cache will be updated.
It can be set to 0, so that the file timestamp will be detected every time it is accessed, and the modification will take effect when accessed.
Or turn off ZendOpcache:
opcache.enable=0
Or add the directory where the project is located to the blacklist to avoid caching:
opcache.blacklist_filename=/png/www/example.com/blacklist
blacklist content, such as:
/png/www/example.com/public_html/
What files were modified? The template file will automatically update the cache. The static resource file may be in the browser cache. Try forcing a refresh.
The modified front-end or back-end.
If it is a front-end file, you can check the browser settings to see if Cache is Disable
Correct answer on the second floor, general development environment does not need to enable opcache
The development environment is recommended to be closed
Opcache
. It is more suitable for production environment.