nginx用作反向代理,可以缓存代理的内容,配置如下:
复制代码 代码如下:
proxy_cache_path /data/nginx_cache/ levels=1:2 keys_zone=cache0:10m;
proxy_temp_path /data/nginx_cache_tmp/;
proxy_buffer_size 8k;
proxy_buffering on;
proxy_buffers 8 8k;
proxy_cache cache0;
proxy_cache_key “$host$uri$is_args$args”;
proxy_cache_valid 1s;
nginx本身不提供缓存到内存的功能,不过可以通过使用技巧来做,就是利用/dev/shm – 虚拟内存。
首先确认/dev/shm是否被linuxjishu/9952.html target=_blank class=infotextkey>mount了,df命令可以看到一行:
tmpfs 8215004 16 8214988 1% /dev/shm,这台linux是16G内存,所以一半就是8G
使用上说,跟普通磁盘无区别,先创建目录:
复制代码 代码如下:
mkdir /dev/shm/nginx_cache;
mkdir /dev/shm/nginx_cache_tmp;
再mount到一个硬盘目录,由于不是块设置,需要用bind参数:
复制代码 代码如下:
mount –bind /dev/shm/nginx_cache /data/nginx_cache;
mount –bind /dev/shm/nginx_cache_tmp /data/nginx_cache_tmp;
再mount看一下,会有下面几行:
复制代码 代码如下:
tmpfs on /dev/shm type tmpfs (rw)
/dev/shm/nginx_cache on /data/nginx_cache type none (rw,bind)
/dev/shm/nginx_cache_tmp on /data/nginx_cache_tmp type none (rw,bind)
相当于实现了将代理内容缓存到内存,提高了响应速度。