Nginx其它用途12

静态文件代理和缓存举例

Nginx 能够高效地处理静态文件,因此我们可以通过 Nginx 来代理和缓存各种静态文件,例如图片、视频、CSS 和 JS 文件等,以下是一个例子:

  1. 安装 Nginx:在 Linux 系统中安装 Nginx 需要使用相关包管理工具,例如在 Ubuntu 中使用以下命令安装:
sudo apt update
sudo apt install nginx
  1. 配置静态文件代理:通过修改 Nginx 配置文件来实现静态文件代理。在 Ubuntu 中,配置文件路径为 /etc/nginx/nginx.conf。你可以通过以下代码来修改该文件,在其中添加一个静态文件代理规则:
http {
    server {
        listen 80;
        server_name static-files.com;
        location / {
            root /var/www/static-files; // 修改为静态文件所在目录
        }
    }
}

在上述代码中,我们首先定义一个 HTTP 服务并监听 80 端口,将 static-files.com 定义为服务器地址。在 location / 部分,我们使用 root 来指定需要代理的静态文件所在目录,这里为 /var/www/static-files。这样,当客户端请求 static-files.com 中的静态文件时,Nginx 将会根据请求的路径到指定目录中寻找对应的文件返回。

  1. 配置静态文件缓存:在上述代码中,Nginx 默认是不会缓存静态文件的,我们可以添加以下代码来开启缓存。
http {

    ...

    server {
        listen 80;
        server_name static-files.com;
        location / {
            root /var/www/static-files;
            expires 60m;
            add_header Cache-Control public;
            add_header Last-Modified $date_gmt;
        }
    }
}

在上述代码中,我们在 location / 部分添加了 expires 配置,用于设置缓存的有效时间。在这里,我们设置的时间为 60 分钟,也就是说,访问某个静态文件后,Nginx 将会在 60 分钟内直接从缓存中读取,不再去请求原始的地址。同时,我们通过 add_header 方法添加了 Cache-ControlLast-Modified 的响应头信息,用于与客户端协商缓存更新。

  1. 重启 Nginx:在修改完配置文件后,需要重新启动 Nginx 服务使其生效。在 Ubuntu 中,执行以下命令可以完成此操作:
sudo systemctl restart nginx
  1. 测试静态文件代理和缓存:在完成上述步骤后,你可以在 /var/www/static-files 目录下放置一些静态文件,例如 HTML、CSS、JS 文件等,并通过 http://static-files.com/ 进行访问。可以通过 Chrome 或者 Firefox 等浏览器的查看开发者工具,来查看 Nginx 是否成功缓存了这些文件,并返回相应的响应头信息。

这样做可以分散后端服务器的负担,更快地加载静态资源,提高网站的响应速度和性能。同时需要注意,实际应用中静态文件代理和缓存的配置可能因为不同的应用而异,需要根据具体情况进行适当的修改。

全部评论

相关推荐

03-28 19:11
铜陵学院 C++
有礼貌的山羊追赶太阳:太典了,连笔试都没有开始就因为HC满了而结束了,而且还卡你不让你再投其他部门的。
点赞 评论 收藏
分享
Cherrycola01:0实习 0项目 约等于啥也没有啊 哥们儿这简历认真的吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务