在Nginx中配置静态资源缓存可以显著提高网站的性能,减少服务器的负载。以下是一个基本的配置示例,展示了如何在Nginx中设置静态资源的缓存:
打开Nginx配置文件:
通常,Nginx的主配置文件位于 /etc/nginx/nginx.conf 或 /etc/nginx/sites-available/default。你可以使用你喜欢的文本编辑器打开它,例如 nano 或 vim。
sudo nano /etc/nginx/sites-available/default
配置静态资源缓存:
在 server 块中添加或修改以下配置:
server {
listen 80;
server_name example.com; # 替换为你的域名或IP地址
root /var/www/html; # 替换为你的静态资源目录
location / {
try_files $uri $uri/ =404;
}
# 配置静态资源缓存
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d; # 设置缓存时间为30天
add_header Cache-Control "public";
}
}
解释:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$:匹配所有以 .jpg, .jpeg, .png, .gif, .ico, .css, .js 结尾的文件。expires 30d;:设置这些文件的缓存时间为30天。add_header Cache-Control "public";:添加 Cache-Control 头,允许浏览器缓存这些文件。测试配置: 在保存并关闭配置文件后,运行以下命令来测试Nginx配置是否正确:
sudo nginx -t
如果配置没有问题,你会看到类似以下的输出:
nginx: configuration file /etc/nginx/nginx.conf test is successful
重新加载Nginx: 如果配置测试通过,重新加载Nginx以应用新的配置:
sudo systemctl reload nginx
或者,如果你使用的是较旧的系统初始化系统,可以使用:
sudo service nginx reload
现在,Nginx将会缓存指定的静态资源,从而提高网站的加载速度和性能。
script.js 可以改为 script.v123.js。Cache-Control 头的值,例如 max-age, no-cache, no-store 等。通过这些配置,你可以有效地利用Nginx的缓存功能来优化静态资源的加载速度。