配置nginx将缓存存放在内存中的二种方法

发布时间:2020-02-13编辑:脚本学堂
配置nginx将缓存存放在内存中的二种方法,供大家学习参考。

配置nginx将缓存存放在内存中的二种方法,供大家学习参考。

方法一:
1、修改/etc/fstab挂接内存文件系统,并指定selinux context
 

复制代码 代码如下:
tmpfs   /var/tmp/nginx/proxy_cache  tmpfs defaults,size=100m,context=system_u:object_r:httpd_cache_t:s0
tmpfs   /var/tmp/nginx/proxy_temp   tmpfs defaults,size=100m,context=system_u:object_r:httpd_cache_t:s0

然后
 

复制代码 代码如下:
mkdir -p /var/tmp/nginx/proxy_cache
mount -t ramfs none /var/tmp/nginx/proxy_cache
mkdir -p /var/tmp/nginx/proxy_temp
mount -t ramfs none /var/tmp/nginx/proxy_temp

2. 在http中指定nginx的proxy_temp_path
 

复制代码 代码如下:
proxy_temp_path  /var/tmp/nginx/proxy_temp ;
proxy_cache_path  /var/tmp/nginx/proxy_cache  levels=1:2   keys_zone=cache_one:64m inactive=1d max_size=128m;
add_header      X-Cache   HIT-LT;

上述方法适合于xen linux VPS和独立主机。

方法2:
新建缓存存放地址
 

复制代码 代码如下:
mkdir /dev/shm/proxy_cache
chmod 1777 /dev/shm/proxy_cache
mkdir -p /var/tmp/nginx/proxy_cache
mount --bind /dev/shm/proxy_cache /var/tmp/nginx/proxy_cache
mkdir /dev/shm/proxy_temp
chmod 1777 /dev/shm/proxy_temp
mkdir -p /var/tmp/nginx/proxy_temp
mount --bind /dev/shm/proxy_temp  /var/tmp/nginx/proxy_temp

在nginx主配置文件添加下面语句
 

复制代码 代码如下:
proxy_temp_path  /var/tmp/nginx/proxy_temp ;
proxy_cache_path  /var/tmp/nginx/proxy_cache  levels=1:2   keys_zone=cache_one:64m inactive=1d max_size=128m;
add_header      X-Cache   HIT-LT;

方法二适合于openvz linux VPS且要根据openvz VPS 下/proc/user_beancounters 下shmpages行的barrier 值确定proxy_cache_path的 max_size值,

备注:
nginx缓存需要版本高于0.7.48才支持。