nginx x-cache: MISS
今天在使用nginx的时候发生了巨无语的一件事,明明我已经配置了代理缓存proxy_cache
,但是一直未生效,于是我不断进行排错、nginx -s reload
,问题始终没有解决。后来我尝试在另一台服务器上使用相同的配置,没想到却一下子成功了!经过总结,得出结论:
问题根源:
nginx配置未生效(Bug):虽然nginx声称自己支持热部署(即nginx -s reload
),但是有些时候却没有生效,我们需要整个重启nginx,做法如下:
# 搜索 nginx 进程
ps -ef|grep nginx
# 杀掉所有 nginx 进程
kill -9 进程号
#重启
nginx
问题成功解决~
番外篇:我是如何排错的?
- 首先我在nginx配置文件中加了一个请求头
aaa:bbb
,然后进行nginx -s reload
、访问,发现竟然没有生效。add_header aaa bbb;
- 得出结论:配置未生效。
另外,当proxy_cache
配置成功后,nginx会启动一个新的Cache进程管理缓存,如果你看到该进程,说明已经可以正常使用代理缓存。