NGINX是一个整合的开源、高性能 Web 服务器,可加速内容和应用程序交付、增强安全性并提高可扩展性。Nginx最常见的用例之一是内容缓存,这是提高网站性能的最有效方法。
您可以使用NGINX来加速本地源服务器,方法是将其配置为缓存来自上游服务器的响应,也可以为内容分发网络(CDNs)创建边缘服务器。NGINX 为一些最大的 CDN 提供支持。
当配置为缓存时,NGINX 将:
- 缓存静态和动态内容。
- 通过微缓存提高动态内容性能。
- 提供陈旧的内容,同时在后台重新验证以获得更好的性能。
- 重写或设置 Cache-Control 消息头等。
在这篇文章中,你将学习如何在Linux中配置NGINX作为一个内容缓存,以使您的 Web 服务器尽可能高效地运行。
前提是你的 Linux 服务器上已安装NGINX,配置将在下面介绍。
在 Nginx 上缓存静态内容
静态内容是跨页面保持不变(不改变)的网站内容。静态内容的示例包括图像、视频、文档等文件;CSS 文件和 JavaScript 文件。
如果您的网站使用了大量静态内容,那么您可以通过启用客户端缓存来优化其性能,浏览器在其中存储静态内容的副本以便更快地访问。
下面的示例配置是一个不错的选择,只需将ww.example.com
替换为您的网站名称的URL,并适当修改其路径名。
server {
# substitute your web server's URL for www.example.com
server_name www.example.com;
root /var/www/example.com/htdocs;
index index.php;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
try_files $uri =404;
include fastcgi_params;
# substitute the socket, or address and port, of your WordPress server
fastcgi_pass unix:/var/run/php5-fpm.sock;
#fastcgi_pass 127.0.0.1:9000;
}
location ~* .(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg
|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid
|midi|wav|bmp|rtf)$ {
expires max;
log_not_found off;
access_log off;
}
}
在 Nginx 上缓存动态内容
NGINX使用位于本地文件系统某处的基于磁盘的持久缓存。因此,首先创建用于存储缓存内容的本地磁盘目录。
# mkdir -p /var/cache/nginx
接下来,在缓存目录上设置适当的权限。它应该由NGINX用户 ( nginx ) 和组 ( nginx ) 拥有,如下所示:
# chown nginx:nginx /var/cache/nginx
现在继续在下面的部分中进一步了解如何在 Nginx 上启用动态内容。
在 NGINX 中启用 FastCGI 缓存
FastCGI&#