第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

我们将看到可用的总内存,已使用的内存和空闲的内存

在ubuntu上使用tmpfs提高nginx缓存性能

默认情况下,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