在Nginx中配置静态资源缓存可以显著提高网站的性能,减少服务器负载。以下是一个基本的配置示例,展示了如何设置静态资源的缓存:
打开Nginx配置文件:
通常位于 /etc/nginx/nginx.conf
或 /etc/nginx/sites-available/default
。
配置静态资源缓存:
在 server
块中添加或修改 location
块来配置静态资源的缓存。以下是一个示例配置:
server {
listen 80;
server_name example.com;
# 静态资源目录
root /var/www/html;
# 缓存配置
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
# 设置缓存时间
expires 30d;
# 缓存路径
add_header Cache-Control "public";
# 启用浏览器缓存
add_header ETag on;
add_header Last-Modified on;
# 如果文件没有变化,直接从缓存中读取
if_modified_since exact;
if_none_match on;
}
# 其他配置...
}
解释:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$
:匹配所有以 .jpg
, .jpeg
, .png
, .gif
, .ico
, .css
, .js
结尾的文件。expires 30d
:设置缓存时间为30天。add_header Cache-Control "public"
:设置HTTP头信息,允许浏览器缓存资源。add_header ETag on
和 add_header Last-Modified on
:启用ETag和Last-Modified头信息,用于验证缓存。if_modified_since exact
和 if_none_match on
:如果文件没有变化,直接从缓存中读取。测试配置并重新加载Nginx: 在终端中运行以下命令来测试配置是否正确:
sudo nginx -t
如果配置正确,运行以下命令重新加载Nginx:
sudo systemctl reload nginx
通过以上步骤,你可以为静态资源配置缓存,从而提高网站的性能和用户体验。根据实际需求,你可以调整缓存时间和缓存策略。