在CentOS上使用Nginx缓存静态资源可以显著提高网站性能。以下是详细的步骤和配置示例,帮助你设置Nginx缓存静态资源。
如果你还没有安装Nginx,可以使用以下命令进行安装:
sudo yum install epel-release
sudo yum install nginx
安装完成后,启动Nginx服务并设置开机自启动:
sudo systemctl start nginx
sudo systemctl enable nginx
编辑Nginx配置文件,通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/default.conf。你可以创建一个新的配置文件或修改现有的配置文件。
以下是一个示例配置,展示了如何缓存静态资源:
http {
# 缓存路径和大小
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
server {
listen 80;
server_name example.com;
location / {
root /var/www/html;
index index.html index.htm;
# 缓存静态资源
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public";
proxy_cache my_cache;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
proxy_pass http://backend_server;
}
}
}
}
proxy_cache_path: 定义缓存路径、级别、键值区域、最大大小、非活动时间和是否使用临时路径。
/var/cache/nginx: 缓存文件的存储路径。levels=1:2: 缓存目录的层级结构。keys_zone=my_cache:10m: 缓存区域的名称和大小。max_size=1g: 缓存的最大总大小。inactive=60m: 文件在缓存中保持活动状态的最长时间。use_temp_path=off: 是否使用临时路径。location ~* \.(jpg|jpeg|png|gif|ico|css|js)$: 匹配静态资源的正则表达式。
expires 30d: 设置缓存过期时间为30天。add_header Cache-Control "public": 添加缓存控制头。proxy_cache my_cache: 使用之前定义的缓存区域。proxy_cache_valid 200 302 10m: 设置200和302状态码的缓存时间为10分钟。proxy_cache_valid 404 1m: 设置404状态码的缓存时间为1分钟。proxy_pass http://backend_server: 将请求转发到后端服务器。在保存配置文件后,测试Nginx配置是否正确:
sudo nginx -t
如果没有错误,重启Nginx以应用新的配置:
sudo systemctl restart nginx
你可以通过访问你的网站并检查响应头中的 Cache-Control 和 Expires 字段来验证缓存是否生效。
通过以上步骤,你应该能够在CentOS上成功配置Nginx缓存静态资源。