Nginx静态资源部署

要在 Nginx 上部署静态资源,可以按照以下步骤进行操作:

  1. 确保已经安装并配置好 Nginx。如果还没有安装,可以参考 Nginx 的官方文档进行安装和配置。

  2. 将静态资源文件复制到 Nginx 的默认静态文件目录下。默认情况下,Nginx 的静态文件目录是 /usr/share/nginx/html/var/www/html。你可以将你的静态资源文件复制到这个目录下,或者根据需要修改 Nginx 的配置文件中的静态文件目录。

  3. 配置 Nginx 的虚拟主机或服务器块。打开 Nginx 的配置文件(通常是 /etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf),找到 server 块,并在其中添加以下配置:

server {
    listen 80;
    server_name example.com;
    root /usr/share/nginx/html;  # 静态文件目录的路径

    location / {
        try_files $uri $uri/ =404;
    }
}

在上面的配置中,listen 指定 Nginx 监听的端口,server_name 指定域名或 IP 地址,root 指定静态文件目录的路径,location 指定请求的处理规则。

  1. 保存并关闭配置文件,然后重新加载 Nginx 配置文件。可以使用以下命令来检查配置文件是否有语法错误:
sudo nginx -t

如果没有报错,重新加载 Nginx 配置文件:

sudo systemctl reload nginx
  1. 现在你可以通过浏览器访问你的静态资源了。在浏览器中输入你的域名或 IP 地址,Nginx 将会返回你的静态资源文件。

注意:如果你的静态资源文件包含其他文件类型(如图片、CSS、JavaScript 等),你可能需要在 Nginx 的配置文件中添加相应的 MIME 类型配置,以确保这些文件能够正确地被浏览器解析和加载。

Nginx静态资源的配置指令

以下是一些常用的 Nginx 配置指令,用于配置和优化静态资源的处理:

  1. root:指定静态文件的根目录。例如:
root /usr/share/nginx/html;
  1. location:指定请求的处理规则。可以使用 location 指令来匹配请求的 URL,并指定相应的处理方式。例如:
location /static {
    root /usr/share/nginx/html;
}

上述配置将匹配以 /static 开头的 URL,并从 /usr/share/nginx/html/static 目录下返回静态文件。

  1. try_files:指定尝试查找静态文件的顺序。可以使用 try_files 指令来指定查找静态文件的顺序,如果找不到则返回指定的错误码。例如:
location / {
    try_files $uri $uri/ =404;
}

上述配置将先尝试查找与请求 URL 匹配的文件,如果找不到则尝试查找以请求 URL 为前缀的目录,最后返回 404 错误码。

  1. expires:指定静态资源的过期时间。可以使用 expires 指令来设置静态资源的过期时间,以便浏览器缓存这些资源。例如:
location /static {
    root /usr/share/nginx/html;
    expires 7d;
}

上述配置将设置 /static 目录下的静态资源在客户端缓存 7 天。

  1. etag:指定静态资源的唯一标识符。可以使用 etag 指令来设置静态资源的唯一标识符,以便客户端在请求资源时进行缓存验证。例如:
location /static {
    root /usr/share/nginx/html;
    etag on;
}

上述配置将为 /static 目录下的静态资源生成唯一的标识符。

  1. gzip:启用 Gzip 压缩。可以使用 gzip 指令来启用对静态资源的 Gzip 压缩,以减小传输大小。例如:
location /static {
    root /usr/share/nginx/html;
    gzip on;
    gzip_types text/plain text/css application/javascript;
}

上述配置将对 /static 目录下的文本、CSS 和 JavaScript 文件进行 Gzip 压缩。

这些是一些常用的 Nginx 静态资源配置指令。你可以根据具体的需求和场景进行配置。另外,还有其他一些指令和模块可用于进一步优化静态资源的处理和缓存,例如 proxy_cache 模块用于启用反向代理缓存,fastcgi_cache 模块用于启用 FastCGI 缓存等。具体的配置语法和用法可以参考 Nginx 的官方文档。

静态资源缓存处理

Nginx 提供了多种方式来处理静态资源的缓存,以提高性能和减少对后端服务器的请求。以下是一些常用的静态资源缓存处理方式:

  1. Expires 头:通过设置 expires 指令,可以在响应头中添加 Expires 字段,指定静态资源的过期时间。例如:
location /static {
    root /usr/share/nginx/html;
    expires 7d;
}

上述配置将为 /static 目录下的静态资源设置过期时间为 7 天。当客户端第一次请求该静态资源时,Nginx 会将该资源返回,并在响应头中添加 Expires 字段,告诉客户端在 7 天内可以直接使用缓存的资源。

  1. Cache-Control 头:通过设置 add_header 指令,可以在响应头中添加 Cache-Control 字段,进一步控制静态资源的缓存行为。例如:
location /static {
    root /usr/share/nginx/html;
    add_header Cache-Control "public, max-age=604800";
}

上述配置将为 /static 目录下的静态资源设置 Cache-Control 头,指定缓存策略为公共缓存,最大缓存时间为 604800 秒(7 天)。

  1. Etag 头:通过设置 etag 指令,可以为静态资源生成唯一的标识符,并在响应头中添加 Etag 字段。例如:
location /static {
    root /usr/share/nginx/html;
    etag on;
}

上述配置将为 /static 目录下的静态资源生成唯一的标识符。当客户端再次请求该资源时,会将该标识符发送给服务器,服务器可以通过比较标识符来判断资源是否发生了变化,从而决定是否返回新的资源。

  1. Gzip 压缩:通过启用 gzip 指令,可以对静态资源进行 Gzip 压缩,减小传输大小。例如:
location /static {
    root /usr/share/nginx/html;
    gzip on;
    gzip_types text/plain text/css application/javascript;
}

上述配置将对 /static 目录下的文本、CSS 和 JavaScript 文件进行 Gzip 压缩。

这些是一些常用的静态资源缓存处理方式。你可以根据具体的需求和场景选择合适的方式进行配置。另外,还可以使用其他一些 Nginx 模块和指令来进一步优化静态资源的缓存,例如 proxy_cache 模块用于启用反向代理缓存,fastcgi_cache 模块用于启用 FastCGI 缓存等。具体的配置语法和用法可以参考 Nginx 的官方文档。

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Nginx是一个常用的Web服务器软件,可以用于提供静态资源,如图片、CSS和JavaScript文件等。当客户端请求一个不存在的静态资源时,Nginx会返回404错误,表示资源未找到。为了加强安全性,可以使用防火墙来限制对静态资源的访问。 在Nginx配置文件中,可以使用location指令来定义对静态资源的访问规则。通过设置valid_referers参数,可以指定允许访问静态资源的referer(引用页)的白名单。例如,引用的配置中,只允许来自www.baidu.com、192.168.200.222、以example.com结尾的二级域名、以example开头的域名、以example.org结尾的域名和以.google.开头的域名的请求访问/images目录下的资源,其它referer的请求将被拒绝。 另外,可以使用root指令指定存放静态资源的根目录。例如,引用中的配置中,静态资源存放在/usr/local/nginx/html/images目录下。当客户端请求/images目录下的资源时,Nginx会在/usr/local/nginx/html目录下寻找相应的资源并返回给客户端。 综上所述,Nginx可以提供静态资源,并且可以通过合理的配置来实现404错误页面和防火墙功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [nginx静态资源配置](https://blog.csdn.net/weixin_53150440/article/details/127252730)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Nginx静态资源部署](https://blog.csdn.net/weixin_56644618/article/details/127708238)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一花一world

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值