当前位置: 首页 > news >正文

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 的官方文档。

相关文章:

Nginx静态资源部署

要在 Nginx 上部署静态资源,可以按照以下步骤进行操作: 确保已经安装并配置好 Nginx。如果还没有安装,可以参考 Nginx 的官方文档进行安装和配置。 将静态资源文件复制到 Nginx 的默认静态文件目录下。默认情况下,Nginx 的静态文…...

javaee jstl表达式

jstl是el表达式的扩展 使用jstl需要添加jar包 package com.test.servlet;import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;import javax.servlet.ServletException; import javax.servlet…...

ChatGPT是否具有记忆能力?

ChatGPT在某种程度上具有记忆能力,但它的记忆能力有限且不像人类的记忆那样全面和持久。以下是对ChatGPT的记忆能力的详细分析: 1. 上下文记忆:ChatGPT可以在对话过程中记住先前的对话历史,以便更好地理解和回应后续的问题。通过…...

ARP协议(地址分析协议)

系列文章目录 数通王国历险记(4) 目录 前言 一,什么是地址解析协议(ARP) 二,封装和解封装 三,为什么需要地址解析协议(ARP) 四,ARP的验证实验 4.1&#x…...

c# websocket client java websocket server

实现功能:c# websocket 客户端 连接 java websocket 服务端 一,c# websocket 客户端 nuget websocketsharp-netstandard Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threadi…...

【玩转循环】探索Python中的无限可能性

前言 循环可能是每个编程语言中使用比较多的语法了,如果能合理利用好循环,就会出现意想不到的结果,大大地减少代码量,让机器做那些简单枯燥的循环过程,今天我将为大家分享 python 中的循环语法使用。🚗&am…...

网安学习经历小记

明明自觉学会了不少知识,可真正开始做题时,却还是出现了“一支笔,一双手,一道力扣(Leetcode)做一宿”的窘境?你是否也有过这样的经历,题型不算很难,看题解也能弄明白&…...

MyBatis之慎用association

这里先总结一下 association 存在的问题。 一、内嵌查询时存在报错Id找不到及内存溢出隐患 二、一对多关系数据重复问题 三、多层嵌套内层 association 查询结果为null 或 非预期的值 一、内嵌查询时存在报错Id找不到及内存溢出隐患 参考: https://www.lmlphp.co…...

【Java/大数据】Kafka简介

Kafka简介 Kafka概念关键功能应用场景 Kafka的原理Kafka 的消息模型早期的队列模型发布-订阅模型Producer、Consumer、Broker、Topic、PartitionPartitionoffsetISR Consumer Groupleader选举Controller leaderPartition leader producer 的写入流程 多副本机制replicas的同步时…...

【动手学深度学习】读写文件

【动手学深度学习】读写文件 加载和保存张量 对于单个张量 我么可以直接调用load和save函数分别读写,这两个函数要求我们提供一个名称,save要求保存的变量作为输入 import torch from torch import nn from torch.nn import functional as F# 创建一个…...

http-server 的安装与使用

文章目录 问题背景http-server简介安装nodejs安装http-server开启http服务http-server参数 问题背景 打开一个文档默认使用file协议打开,不能发送ajax请求,只能使用http协议才能请求资源,所以此时我们需要在本地建立一个http服务&#xff0c…...

SQL高级教程

SQL TOP 子句 TOP 子句 TOP 子句用于规定要返回的记录的数目。 对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。 注释:并非所有的数据库系统都支持 TOP 子句。 SQL Server 的语法: SELECT TOP number|percent column_name(s) F…...

9.pixi.js编写的塔防游戏(类似保卫萝卜)-群炮弹发射逻辑

游戏说明 一个用pixi.js编写的h5塔防游戏,可以用electron打包为exe,支持移动端,也可以用webview控件打包为app在移动端使用 环境说明 cnpm6.2.0 npm6.14.13 node12.22.7 npminstall3.28.0 yarn1.22.10 npm config list electron_mirr…...

分布式链路追踪

文章目录 1、背景2、微服务架构下的问题3、链路追踪4、核心概念5、技术选型对比6、zipkin 1、背景 随着互联网业务快速扩展,软件架构也日益变得复杂,为了适应海量用户高并发请求,系统中越来越多的组件开始走向分布式化,如单体架构…...

计算机网络————网络层

文章目录 网络层设计思路IP地址IP地址分类IP地址与硬件地址 协议ARP和RARPIP划分子网和构造超网划分子网构造超网(无分类编址CIDR) ICMP 虚拟专用网VPN和网络地址转换NATVPNNAT 网络层设计思路 网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数…...

el-table刷新后保持高亮并改变状态字段

一、需求&#xff1a; 1、点击左侧右边显示具体内容 2、点击右边确认 左侧依旧高亮并且改变启动状态颜色 3、点击刷新、重置、高级搜索等不高亮 右边也不显示具体内容 二、效果图&#xff1a; 三、具体实施 1、定义highlight-current-row 是否高亮行 <el-table ref&quo…...

ARM Ubuntu内核更新记录

1&#xff0c;系统版本说明&#xff1a;ARM 鲲鹏920 cat /etc/lsb-release DISTRIB_IDUbuntu DISTRIB_RELEASE18.04 DISTRIB_CODENAMEbionic DISTRIB_DESCRIPTION"Ubuntu 18.04.5 LTS" 2&#xff0c; 将source.list中的deb-src打开 # 默认注释了源码镜像以提高 apt…...

【sgUploadTray】上传托盘自定义组件,可实时查看上传列表进度

【sgUploadTray】上传托盘自定义组件&#xff0c;可实时查看上传列表进度 特性&#xff1a; 可以全屏可以还原尺寸可以最小化可以回到右下角默认位置支持删除队列数据 sgUploadTray源码 <template><div :class"$options.name" :show"show" :size…...

改进二进制粒子群算法在配电网重构中的应用(Matlab实现)【论文复现】

目录 ​ 0 概述 1 配电网重构的目标函数 2 算例 3 matlab代码实现 0 概述 配电系统中存在大量的分段开关和联络开关&#xff0c;配电网重构正是通过调整分段开关和联络升大的组合状态来变换网络结构,用于优化配电网某些指标&#xff0c;使其达到最优状态。正常运行时,则通…...

【文章系列解读】Nerf

1. Nerf NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis 2020年8月3日 &#xff08;0&#xff09;总结 NeRF工作的过程可以分成两部分&#xff1a;三维重建和渲染。&#xff08;1&#xff09;三维重建部分本质上是一个2D到3D的建模过程&#xff…...

湖北理元理律师事务所:债务咨询中的心理支持技术应用

债务危机往往伴随心理崩溃。世界卫生组织研究显示&#xff0c;长期债务压力下抑郁症发病率提升2.3倍。湖北理元理律师事务所将心理干预技术融入法律咨询&#xff0c;构建“法律方案心理支持”的双轨服务模型。 一、债务压力下的心理危机图谱 通过对服务对象的追踪发现&#x…...

VmWare Ubuntu22.04 搭建DPDK 20.11.1

一、开发环境 Ubuntu 版本 二、增加虚拟机的网卡 给虚拟机增加1个网卡,加上原来的网卡,一共2个 网络适配器作为 ssh 连接的网卡,网络适配器2作为 DPDK 运行的网卡。 三、NAT模式简介 这里待补充,网上都是那一张图,看不懂 四、使网卡名称从0开始命名 进入管理员权限 s…...

DAY 44 预训练模型

知识点回顾&#xff1a; 预训练的概念常见的分类预训练模型图像预训练模型的发展史预训练的策略预训练代码实战&#xff1a;resnet18 &#xff08;一&#xff09;预训练的概念 我们发现准确率最开始随着epoch的增加而增加。随着循环的更新&#xff0c;参数在不断发生更新。 所以…...

ps蒙版介绍

一、蒙版的类型 Photoshop中有多种蒙版类型&#xff0c;每种适用于不同的场景&#xff1a; 图层蒙版&#xff08;Layer Mask&#xff09; 作用&#xff1a;控制图层的可见性&#xff0c;黑色隐藏、白色显示、灰色半透明。特点&#xff1a;可随时编辑&#xff0c;适合精细调整。…...

北大开源音频编辑模型PlayDiffusion,可实现音频局部编辑,比传统 AR 模型的效率高出 50 倍!

北大开源了一个音频编辑模型PlayDiffusion&#xff0c;可以实现类似图片修复(inpaint)的局部编辑功能 - 只需修改音频中的特定片段&#xff0c;而无需重新生成整段音频。此外&#xff0c;它还是一个高性能的 TTS 系统&#xff0c;比传统 AR 模型的效率高出 50 倍。 自回归 Tra…...

开源技术驱动下的上市公司财务主数据管理实践

开源技术驱动下的上市公司财务主数据管理实践 —— 以人造板制造业为例 引言&#xff1a;财务主数据的战略价值与行业挑战 在资本市场监管日益严格与企业数字化转型的双重驱动下&#xff0c;财务主数据已成为上市公司财务治理的核心基础设施。对于人造板制造业而言&#xff0…...

N元语言模型 —— 一文讲懂!!!

目录 引言 一. 基本知识 二.参数估计 三.数据平滑 一.加1法 二.减值法/折扣法 ​编辑 1.Good-Turing 估计 ​编辑 2.Back-off (后备/后退)方法 3.绝对减值法 ​编辑4.线性减值法 5.比较 三.删除插值法(Deleted interpolation) 四.模型自适应 引言 本章节讲的…...

阿里云ACP云计算备考笔记 (4)——企业应用服务

目录 第一章 企业应用概览 第二章 云解析 1、云解析基本概念 2、域名管理流程 3、云解析记录类型 4、域名管理 ① 开启注册局安全锁 ② 域名赎回 第二章 内容分发网络CDN 1、CDN概念 2、使用CDN前后对比 3、使用CDN的优势 4、阿里云CDN的优势 5、配置网页性能优化…...

Android 相对布局管理器(RelativeLayout)

俩重要属性 android:gravity android:ignoreGravity Android 相对布局管理器&#xff1a;自由排列的魔法布局 想象一下&#xff0c;你是一个室内设计师&#xff0c;需要在一个房间里摆放家具。RelativeLayout&#xff08;相对布局&#xff09;就像是一个 "自由摆放"…...

每日Prompt:云朵猫

提示词 仰视&#xff0c;城镇的天空&#xff0c;一片形似猫咪的云朵&#xff0c;用黑色的简笔画&#xff0c;勾勒出猫咪的形状&#xff0c;可爱&#xff0c;俏皮&#xff0c;极简...