Nginx缓存清理配置,优化网站静态资源更新
引言:
在网站开发过程中,经常会有静态资源的更新,如CSS、JavaScript和图片等。然而,由于浏览器的缓存机制,访问者可能无法立即获取到最新版本的静态资源。为了解决这个问题,我们可以使用Nginx进行缓存清理配置,以优化网站静态资源的更新。
一、Nginx缓存配置
首先,我们需要在Nginx的配置文件nginx.conf中添加以下指令来配置缓存相关的设置:
http { ... proxy_cache_path /path/to/cache levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m; ... server { ... location ~* .(css|js|png|jpg|jpeg|gif|ico)$ { expires 30d; add_header Pragma public; add_header Cache-Control "public"; proxy_cache cache_zone; proxy_cache_key $scheme$proxy_host$uri$is_args$args; proxy_cache_valid 200 301 302 404 1d; } ... } ... }
- proxy_cache_path:设置缓存目录的路径。levels=1:2表示在缓存目录下使用两级子目录来存储缓存文件,这可以提高文件的查找速度。keys_zone为缓存区域的名称,10m表示分配10MB的内存用于缓存索引。max_size表示缓存文件的最大大小,inactive表示在指定时间没有被访问时,缓存文件会被删除。
- location:用于匹配需要被缓存的静态资源文件。在此例中,使用正则表达式匹配CSS、JavaScript、图片等文件,并设置缓存的过期时间为30天。
- add_header:添加HTTP响应头信息,设置Pragma为public和Cache-Control为public,以确保缓存可以被公共缓存服务器和浏览器缓存。
二、Nginx缓存清理配置
当我们更新了网站的静态资源文件后,需要将缓存中的旧版本文件清除,以使访问者可以获取到最新的静态资源。为了实现这一点,我们可以在Nginx的配置文件中添加以下代码:
http { ... proxy_cache_path /path/to/cache levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m; ... server { ... location /purge-cache { internal; proxy_cache_purge cache_zone "$scheme$proxy_host$uri$is_args$args"; } ... } ... }
- location:定义一个/purge-cache的URL,用于触发缓存清理操作。internal表示这个URL只对内部访问有效。
- proxy_cache_purge:清除指定的URL对应的缓存文件。
三、代码示例
假设我们网站中的CSS文件位于http://example.com/static/css/style.css,我们可以使用以下代码来清理缓存中的该文件:
curl -X PURGE http://example.com/purge-cache/static/css/style.css
这个请求将会使nginx清除缓存中该URL对应的缓存文件,下次访问该URL时将会重新生成缓存。
结论:
通过配置Nginx的缓存清理,我们可以优化网站静态资源的更新。当我们更新了静态资源时,只需要发送一个清理缓存的请求,就可以使访问者获取到最新的资源文件,提高网站的性能和用户体验。
参考资料:
- Nginx官方文档:https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_purge
以上是Nginx缓存清理配置,优化网站静态资源更新的详细内容。更多信息请关注PHP中文网其他相关文章!

NGINXUnit支持多种编程语言,通过模块化设计实现。1.加载语言模块:根据配置文件加载相应模块。2.应用启动:调用语言运行时执行应用代码。3.请求处理:将请求转发给应用实例。4.响应返回:将处理后的响应返回给客户端。

NGINX和Apache各有优劣,适合不同场景。1.NGINX适合高并发和低资源消耗场景。2.Apache适合需要复杂配置和丰富模块的场景。通过比较它们的核心特性、性能差异和最佳实践,可以帮助你选择最适合需求的服务器软件。

确认 Nginx 是否启动的方法:1. 使用命令行:systemctl status nginx(Linux/Unix)、netstat -ano | findstr 80(Windows);2. 检查端口 80 是否开放;3. 查看系统日志中 Nginx 启动消息;4. 使用第三方工具,如 Nagios、Zabbix、Icinga。

要关闭 Nginx 服务,请按以下步骤操作:确定安装类型:Red Hat/CentOS(systemctl status nginx)或 Debian/Ubuntu(service nginx status)停止服务:Red Hat/CentOS(systemctl stop nginx)或 Debian/Ubuntu(service nginx stop)禁用自动启动(可选):Red Hat/CentOS(systemctl disable nginx)或 Debian/Ubuntu(syst

如何在 Windows 中配置 Nginx?安装 Nginx 并创建虚拟主机配置。修改主配置文件并包含虚拟主机配置。启动或重新加载 Nginx。测试配置并查看网站。选择性启用 SSL 并配置 SSL 证书。选择性设置防火墙允许 80 和 443 端口流量。

服务器无权访问所请求的资源,导致 nginx 403 错误。解决方法包括:检查文件权限。检查 .htaccess 配置。检查 nginx 配置。配置 SELinux 权限。检查防火墙规则。排除其他原因,如浏览器问题、服务器故障或其他可能的错误。

在 Linux 中启动 Nginx 的步骤:检查 Nginx 是否已安装。使用 systemctl start nginx 启动 Nginx 服务。使用 systemctl enable nginx 启用在系统启动时自动启动 Nginx。使用 systemctl status nginx 验证启动是否成功。在 Web 浏览器中访问 http://localhost 查看默认欢迎页面。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

WebStorm Mac版
好用的JavaScript开发工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器