我将 Vagrant 上的文件命名为 index.html ,并将nginx配置为像my.loc
这样的Web服务器虚拟主机,index.html可以访问在我的Mac上使用chrome,这是流浪者的主机
现在的问题是:
当我编辑index.html文件,如
<html>
<head>
<title>title11</title>
</head>
<body>
</body>
</html>
然后我将title11
更改为title22
,不会更改Chrome上的网页。
首先我认为它是缓存问题,我像这样配置nginx.conf以禁止缓存:
location ~.*\.(js|css|html|png|jpg)$
{
#expires -1;
add_header Cache-Control no-cache;
add_header Cache-Control no-store;
}
它没有用。但是,我发现如果我在流浪者上运行cmd touch /myweb/index.html
,Chrome页面上的网页会发生变化,但这不是我想要的。
编辑:
这是我的nginx.conf
user nginx;
worker_processes auto;
error_log /vagrant/nginx-error.log;
pid /var/run/nginx.pid;
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /vagrant/nginx-access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /vagrant/nginx-vhosts/*.conf;
}
现在我发现如果我在流浪汉中编辑linux上的index.html,然后页面将在我的Mac OS中更改chrome。所以我认为问题是关于流浪汉。
答案 0 :(得分:0)
我终于解决了在nginx.conf中将sendfile on
更改为sendfile off
的问题。
我从这篇文章中得到答案:Clear nginx Cache in Vagrant
这是因为:
Sendfile用于“在一个文件描述符和另一个文件描述符之间复制数据”,并且在虚拟机环境中运行时显然有一些真正的麻烦,或者至少在通过Virtualbox运行时。在nginx中关闭此配置会导致静态文件通过不同的方法提供,您的更改将立即反映出来并且毫无疑问