背景 在NodeJS web service 中,有时候我们需要将一些 静态文件 放到一个文件夹,允许任意访问,比如 css,js html 等文件,或者是允许用户下载的文件。...我们使用 koa-static-server 来实现它。...为什么选用 koa-static-server koa-static-server 可以方便的指定 rootDir 作为本地物理文件夹的更目录,可以指定 rootPath 指定url的基础路径。.../public 文件夹内。...served rootPath {string} optional rewrite path, defaults to "/" 安装 $ npm install koa-static-server 使用
如图所示,nginx缓存,可以在一定程度上,减少源服务器的处理请求压力。 因为静态文件(比如css,js, 图片)中,很多都是不经常更新的。...nginx使用proxy_cache将用户的请求缓存到本地一个目录。下一个相同请求可以直接调取缓存文件,就不用去请求服务器了。 毕竟,IO密集型服务的处理是nginx的强项。...proxy_temp_file_write_size 设置nginx每次写数据到临时文件的size(大小)限制 proxy_temp_path 从后端服务器接收的临时文件的存放路径 proxy_cache_path...当解析到上述文件名结尾的静态资源,会到缓存区获取静态资源。 如果获取到对应资源,则直接返回数据。 如果获取不到,则将请求转发给proxy_pass指向的地址进行处理。...四、参考 [1] nginx文档 [2] nginx反向缓存代理详解 [3] Nginx缓存服务器静态文件 五、后记 我的GitHub仓库 Give me a star,if it’s work out
一、nginx缓存的优点 图片 如图所示,nginx缓存,可以在一定程度上,减少源服务器的处理请求压力。 因为静态文件(比如css,js, 图片)中,很多都是不经常更新的。...nginx使用proxy_cache将用户的请求缓存到本地一个目录。下一个相同请求可以直接调取缓存文件,就不用去请求服务器了。 毕竟,IO密集型服务的处理是nginx的强项。...proxy_temp_file_write_size 设置nginx每次写数据到临时文件的size(大小)限制 proxy_temp_path 从后端服务器接收的临时文件的存放路径 proxy_cache_path...当解析到上述文件名结尾的静态资源,会到缓存区获取静态资源。 如果获取到对应资源,则直接返回数据。 如果获取不到,则将请求转发给proxy_pass指向的地址进行处理。...所以,如果缓存有效的话,那么静态资源返回的报头,一定会带上这个信息。
在之前讲述过使用node元素处理静态web服务,就是一个访问页面的功能,处理文件mime类型,读取文件,麻烦要死,在express框架使用静态web服务其实就是一句话的事情!实现起来简单明了!...// 实现静态资源管理 var express=require("express"); var app=express(); app.use(express.static("..../www")); app.listen(3000); 对于框架引入和初始化就不过多解释,启用这个静态服务很简单使用app.use(express.static("静态服务根目录")),一句话搞定,然后监听端口使用
5.Gin 静态文件服务 静态文件服务 当我们渲染的 HTML 文件中引用了静态文件时, 我们需要配置静态 web 服务。...代码示例 准备静态文件 1696178698221 h1{ color: red; } 配置静态文件的加载 1696178751358 // 定义静态文件路径 r.Static("/static.../static 表示路径 ” 在 html 中引入静态文件 css 1696178820218 <!
报错404,NOT FOUND可能是因为nginx.conf配置文件的俩处地方配置有误,按照下面,检查你的配置之后99.9999%是可以在浏览器访问Linux的静态文件的 1.检查nginx是否打开允许访问本地文件的配置...vim nginx.conf 2.查找如下图的配置项,没有的话添加即可,注意是在http这个服务中 proxy_intercept_errors on; 3.检查需要访问文件的路径是否配置正确,例如我要访问的静态文件名称为...Bapi.html,文件存放路径为root/cccc/Bapi.html,配置如下 4.访问静态文件 可以访问,我是有域名的,所以我的访问直接就是域名+Bapi.html 其他格式的文件同理。
到目前位置我们的服务器还无法伺服客户端的静态文件请求把服务器磁盘上的文件响应给客户端。...使用和配置过 Nginx服务器的一定知道 Nginx天然支持静态资源的访问,那么我们是不是也要借助 Nginx才能实现处理静态文件请求呢?...我们先用一个简单的例子学习一下使用 net/http如何创建一个静态资源服务器,然后再应用到我们的 http_demo项目中。...公众号中回复 gohttp08获取本文源代码 创建静态资源服务器 我们新建一个 main.go存放创建静态资源服务器和监听请求的代码,同时在相同目录下创建 assets/css和 assets/js目录用于存放上篇文章页面模板使用到的静态文件...结合 gorillia/mux使用文件服务器 上面的例子中文件服务器的处理程序是注册到 net/http库提供的标准的 ServeMux(服务复用器)中的,我们 http_demo项目为了支持复杂的路由注册使用的是
[up-5a9f1b1c515c90c36ef94a61fbe0d94a9f4.png] 介绍 本文介绍如何通过 rk-boot 快速搭建静态文件下载 Web 服务。...什么是 静态文件下载 Web UI? 通过配置文件,快速搭建可下载文件的 Web 服务。...rookie-ninja/rk-boot go get github.com/rookie-ninja/rk-grpc 快速开始 rk-boot 提供了一个方便的方法,让用户快速实现网页【浏览和下载】静态文件的功能...(嵌入式静态文件) pkger 是一个可以把静态文件,嵌入到 .go 文件的工具。...我们将使用 afero package 里面的 memFs 作为例子。
引言 使用Nginx布署静态文件服务,Nginx服务得先有才能进行后续的事情。如果有同学不会部署的,可以参考我的上一篇文章yum安装Nginx全流程指南 。已经部署好的同学可以直接看下面的内容了。...Nginx 场景介绍 Nginx的配置繁多且复杂,但是实际的使用场景其实无非就是这么几个 正向代理 反向代理 负载均衡 动静分离 针对不同的应用场景有不同的配置文件,在未来我会针对不同的场景依次说明并给出对应的配置文件...开始配置 回到当前主题,我们是要配置一个静态文件服务供客户端访问。...一、linux系统定义一个访问目录 在home目录新建一个files文件夹,里面存放文件供客户端访问 mkdir -p /home/files 二、Nginx 添加一个Location将刚才的目录暴露出去...#改为on后,显示的文件时间为文件的服务器时间 autoindex_localtime on; #让浏览器不保存临时文件 add_header Cache-Control
另外,之前我的 wiki 一直是丢在 Git pages 上的,即使加上了 CDN,速度依然堪忧,于是重新在 CODING 部署持续集成服务,利用 CODING CI 将 hexo 的静态文件部署到 Web...配置密钥登录 由于需要使用 SCP,而 SCP 本身是走 ssh 的,所以我们需要在服务器系统中添加一个用于 CODING CI 传输文件的用户(为安全起见,强烈建议新建普通用户,给予有限的权限,...install -g gulp' sh 'npm install -g' echo '构建完成.' } } stage('hexo g 生成静态文件...') { steps { echo 'hexo g 生成静态文件' sh 'hexo clean' sh 'hexo g && gulp'...'hexo g 生成静态文件成功.' } } stage('ssh 部署到 web 端') { steps { echo '部署中...'
[up-97a2b1bf08350b9acc59c5e07df3afb47e6.png] 介绍 本文介绍如何通过 rk-boot 快速搭建静态文件下载 Web 服务。...什么是 静态文件下载 Web UI? 通过配置文件,快速搭建可下载文件的 Web 服务。...rookie-ninja/rk-boot go get github.com/rookie-ninja/rk-echo 快速开始 rk-boot 提供了一个方便的方法,让用户快速实现网页【浏览和下载】静态文件的功能...(嵌入式静态文件) pkger 是一个可以把静态文件,嵌入到 .go 文件的工具。...我们将使用 afero package 里面的 memFs 作为例子。
[up-35ab682532772a1f464f2295181348d5c89.png] 介绍 本文介绍如何通过 rk-boot 快速搭建静态文件下载 Web 服务。...什么是 静态文件下载 Web UI? 通过配置文件,快速搭建可下载文件的 Web 服务。.../rookie-ninja/rk-boot go get github.com/rookie-ninja/rk-gin 快速开始 rk-boot 提供了一个方便的方法,让用户快速实现网页【浏览和下载】静态文件的功能...(嵌入式静态文件) pkger 是一个可以把静态文件,嵌入到 .go 文件的工具。...我们将使用 afero package 里面的 memFs 作为例子。
我们可以使用Node设定一个目录,然后让Web程序变成一个文件服务器。要实现这一点,我们只需要解析request.url中的路径,然后在本地找到对应的文件,把文件内容发送出去就可以了。...最后,我们实现一个文件服务器file_server.js: var http= require('http'), fs= require('fs'), url= require...ContentType,这里需要用到一个mime.json文件,然后使用一个函数去匹配: //mime 读取mime.json 里面存储了常见的文件的ContentType 为请求的对应的文件设置对应的...请求的后缀的相匹配的 ContentType 属性 callBack(contentType); //执行这个回调函数 并传参contentType }) } 搭建静态服务器的步骤应该是...: 先拿到请求文件的后缀名(extname) 引入mime.json 文件并读取->转码 匹配和后缀对应的ContentType 使用回调函数 所有请求的文件 都会拿到后缀 然后自动匹配相应的ContentType
看到这些描述立马就想到这这个服务可以用来做静态文件服务。 ? 如果你有免费账户那么可以使用5G的免费额度,用来存一些图片跟JavaScript等小文件也足够了。 ?...自定义域名 到这我们的文件可以上传,可以访问,已经做为静态文件服务器使用了。...使用SDK上传文件 显然每次上传文件都要登录到Azure的管理平台太麻烦了,我们可以使用Azure Blob提供的.net sdk来制作一个小工具来方便上传文件。...总结 使用Azure Blob Storage可以方便的上传跟管理各种图片、文本、音视频等文件。上传的每个文件都有一个唯一的url对应,可以方便的通过http在全球访问内进行访问。...使用这些特性我们可以轻松的把它当做静态文件服务器来用。我们还可以通过定义域名跟自己的域名结合起来使用,获得更加友好的使用体验。
背景 作为前端工程师,我想大家一定对静态文件服务器不会陌生。所谓的静态文件服务器做的工作就是将我们的前端静态文件(.js/.css/.html)传输给浏览器,然后浏览器再将我们的页面渲染出来。...我们常用的webpack-dev-server就是本地开发用的静态文件服务器,而一般线上环境我们会使用nginx,因为它更加稳定和高效。既然静态文件服务器无处不在,那么它们又是如何实现的呢?...本篇文章将带你手把手实现一个高效的静态文件服务器。...功能介绍 我们的静态服务器包括下面两个功能: 当用户请求的内容是文件夹时,展示当前文件夹的结构信息 当用户请求的内容是文件时,返回文件的内容 我们来看一下实际效果,服务端的静态文件目录是这样的: static...总结 本篇文章我先实现了一个最简单能用的静态文件服务器,然后通过解决三个实际使用时会遇到的问题优化了我们的代码,最后完成了一个简单高效的静态文件服务器。
很久以前做了一个Visual Studio Code插件,用来快速开启http静态文件服务器,当然,现在已经被live server插件取代了,所以准备从GitHub中删除它,删除前留下一些遗照:...现在http静态服务器已经烂大街了,没人造轮子了。。...做得还是比较精致的,服务器不仅能返回文件,还能罗列出目录下的所有文件。 如果目录下有index.html的话则会跳转到index.html。...ag-grid-community:前端表格库 如果不想依赖这些库,手写一个静态服务器,可以参考这篇文章:《手写一个http容器》。...logo: 最近将以前的文章复制到51CTO上了:https://blog.51cto.com/xosg 近期文章: 《像素流SDK权威指南》 《Pixel Streamer 使用教程》 《如何高效解决问题
[up-26fd298c01ab7e7d6be87c3f6bd53ee2e53.png] 介绍 本文介绍如何通过 rk-boot 快速搭建静态文件下载 Web 服务。...什么是 静态文件下载 Web UI? 通过配置文件,快速搭建可下载文件的 Web 服务。...rkdocs.netlify.app/cn 安装 go get github.com/rookie-ninja/rk-boot/gf 快速开始 rk-boot 提供了一个方便的方法,让用户快速实现网页【浏览和下载】静态文件的功能...(嵌入式静态文件) pkger 是一个可以把静态文件,嵌入到 .go 文件的工具。...我们将使用 afero package 里面的 memFs 作为例子。
Nginx是一个非常出色的静态资源web服务器。如果你嫌它还不够快,可以把放在磁盘中的文件,映射到内存中,减少高并发下的磁盘IO。 先做几个假设。...nginx.conf中所配置站点的路径是/home/wwwroot/res,站点所对应文件原始存储路径:/opt/web/res shell脚本非常简单,思路就是拷贝资源文件到内存中,然后在把网站的静态文件链接指向到内存中即可...测试前提:将测试网站的首页全部内容包括html,图片,js,css等所有元素都拷贝到内存中,并且每次用户请求静态资源文件都不会缓存。使用LoadRunner按照200和100并发分别进行压力测试。...测试结果: 在高并发下全部使用磁盘文件200人并发 2分钟 平均每次事务响应时间为19.96秒 每秒处理事务数为9.26个 使用内存200人并发 2分钟 平均每次事务响应时间为11.3秒 每秒处理事务数为...15.8个 在低并发下全部使用磁盘文件100人并发 2分钟 平均每次事务响应时间为10.27秒 每秒处理事务数为9.32个 使用内存100人并发 2分钟 平均每次事务响应时间为5.84秒 每秒处理事务数为
于是,我在思考COS之后,决定自己整一个本地的OSS,实现静态文件的访问。那么,首屈一指的就是我很熟的nginx。也算是个小复习吧,复习一下nginx代理静态文件。...图片 nginx的使用场景 反向代理 作为中间层的服务器,将来自客户端的请求转发到对应的后端服务器上 动静分离 动:指的是后端处理过的数据;静:静态的资源,如图片、css、js代码。...nginx可以直接提供静态资源访问,动态的则直接转发到对应的后端服务 负载均衡 http { upstream backend { server backend1.example.com...静态文件服务 nginx其实本身就是应对高并发的场景设计的,用它代理很多静态的资源、视频、图片等,都是很好的选择。...#改为on后,显示的文件时间为文件的服务器时间 autoindex_localtime on; #让浏览器不保存临时文件 add_header Cache-Control
静态文件使用nginx是比较有效率的,但是有时,我们需要对文件下载做细粒度的处理,比如鉴权下载,此时就需要写代码了。 下面将一步步实现一个自定义的文件handler。...handler 读取一个文件建议使用迭代器,否则内存吃不消。...yield c else: break except: yield b"" 对用户鉴权 既然自己实现了文件服务器...当我们把实现改成这样,很快,你会发现服务器爆炸了。 一般来说,浏览器请求静态资源会带上一个头 If-Modified-Since,文件服务器会根据这个头,判定文件是否已经修改。...如果文件不变,则直接返回code 304给浏览器。浏览器将直接使用缓存。 我们的文件服务器漏了这一步。所以,每次请求,服务端都会把文件读取任劳任怨的重新来一次。这样用户体验很差。尤其是图片用户。
领取专属 10元无门槛券
手把手带您无忧上云