第2步:创建TMPFS 内存空间
创建一个将安装在内存中的目录。
由于默认的nginx使用 /var/cache/nginx
目录,创建一个名为ramcache
的目录 。
sudo mkdir -p /var/cache/nginx/ramcache
创建目录后,使用 tmpfs
命令将其安装在内存中
对于本教程,我们将使用2GB 内存存储。
sudo mount -t tmpfs -o size=2G tmpfs /var/cache/nginx/ramcache
内存存储不是永久性的。
我们可以使用下面的命令安全卸载它:
sudo umount /var/cache/nginx/ramcache
如果我们希望内存存储是永久性的,并且在服务器重新启动时自动安装,
那么打开 /etc/fstab
文件:
sudo nano /etc/fstab
然后复制下面的行,并将其添加到文件的底部。
sudo tmpfs /var/cache/nginx/ramcache tmpfs defaults,size=2G 0 0
我们已在内存中创建了一个安装的存储,可用于存储Nginx缓存。
第1步:找到系统内存使用情况
要了解系统是否有足够的内存,一种方法是运行下面的命令:
free -h
输出示例:
total used free shared buff/cache available Mem: 15G 2.8G 9.5G 471M 3.3G 12G Swap: 0B 0B 0B
我们将看到可用的总内存,已使用的内存和空闲的内存
默认情况下,nginx将在磁盘上存储其缓存数据。
即使我们使用SSD磁盘,内存中的缓存仍会比磁盘更好。
如果服务器上有足够的内存,则最好的优化方法之一是在内存中安装缓存页面。
第3步:设置nginx使用存储
打开nginx配置并使用上面创建的存储空间。
配置示例:
fastcgi_cache_path /var/cache/nginx/ramcache/fastcgi_temp/levels=1:2 keys_zone=cachezone:100m max_size=2g inactive=60m use_temp_path=off; fastcgi_cache_key $scheme$request_method$host$request_uri; fastcgi_cache_revalidate on; fastcgi_cache_background_update on; fastcgi_cache_use_stale error timeout invalid_header updating http_500; fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
保存文件并退出。
重新启动nginx加载新的配置
sudo systemctl reload nginx
Nginx将自动使用已安装的存储器进行缓存。
如果我们使用的是Pagespeed模块,我们还需要指定它的缓存位置。
pagespeed EnableCachePurge on; pagespeed PurgeMethod PURGE; pagespeed ImplicitCacheTtlMs 31536000000; pagespeed FileCachePath "/var/cache/nginx/ramcache/ngx_pagespeed/"; pagespeed CreateSharedMemoryMetadataCache "/var/cache/nginx/ramcache/ngx_pagespeed/" 1000000; pagespeed DefaultSharedMemoryCacheKB 5000000;
日期:2020-07-07 20:57:18 来源:oir作者:oir