当在开发AWS + Nginx + WordPress的AMIMOTO时,如果缓存无法清除,可以采取以下对策
由于使用AMIMOTO时缓存无法立即清除,我遇到了很多困难,所以我总结了一下。
基本的
清除缓存
$ sudo rm -rf /var/cache/nginx
删除整个缓存文件夹
我会创建一个名为nginx的文件夹给你。
$ mkdir /var/cache/nginx
请确认nginx语法是否正确
nginx -t
只要按照以下方式执行就可以!
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
重新启动nginx。
$ sudo /etc/init.d/nginx restart
听说实际上最好不要使用上述方法……
$ sudo /etc/init.d/nginx stop
$ sudo /etc/init.d/nginx start
如果仍然不行的话
优化nginx的配置
$ vi /etc/nginx/nginx.conf
如果”inactive”变成1000小时,
缓存将保持1000小时,也就是大约16天。
对于开发环境来说,将时间单位设定为1分钟或5分钟是非常方便的。
# proxy cache
proxy_cache_path /var/cache/nginx/proxy_cache levels=1:2
keys_zone=czone:32m max_size=256m inactive=1m;
如果出现错误
如果在nginx -t命令中遇到以下错误。
Starting nginx: nginx: [warn] 2048 worker_connections exceed open file resource limit: 1024
如果可用的内存量或CPU时间不足,上述错误将出现。
因此,需要检查并分配缺少的容量。
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 4469
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 4469
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
我会检查上述出现错误的项目并增加容量。
$ ulimit -u 2048