Nginx作为静态资源web服务之缓存原理 大致理一下http浏览器缓存原理: 浏览器第一次请求服务器,此时浏览器肯定没有缓存,则直接调用服务器端,服务器在返回的信息的信息头中添加 ETag和Last-Modified参数信息,返回给客户端浏览器缓存. 然后浏览器以后的请求,先判断是否有缓存,那么怎么判断有缓存呢,有三步: (1)是否过期   (2)对ETag信息对比 ,ETag:  就是一个生成的字符串 (3)对Last-Modified信息对比:Last-Modified:服务端最后一次修改…
本篇主要记录学习Nginx的静态资源WEB服务的几种常见的功能记录学习 Nginx开发常用的命令 nginx -tc /etc/nginx/nginx.conf vim /etc/nginx/conf.d/default.conf systemctl restart nginx.service 静态资源类型(非服务器动态运行生成的文件) 浏览器端渲染: HTML,CSS,JS 图片: JPEG,GIF,PNG 视频: FLV,MPEG 文件: TXT,等任意下载文件 静态资源服务场景-CDN 配…
Nginx作为静态资源web服务 静态资源web服务-CDN场景 Nginx资源存储中心会把静态资源分发给“北京Nginx”,“湖南Nginx”,“山东Nginx”. 然后北京User发送静态资源请求,通过CDN,找到离自己最近的“北京Nginx”. 静态资源核心配置 文件读取 sendfile sendfile 是一种高效传输文件的模式. sendfile设置为on表示启动高效传输文件的模式.sendfile可以让Nginx在传输文件时直接在磁盘和tcp socket之间传输数据.如果这个参数…
Nginx作为静态资源web服务之防盗链 首先,为什么需要防盗链,因为有些资源存在竞争对手的关系,比如淘宝的商品图片,不会轻易的让工具来爬虫爬走收集.但是如果使用防盗链,需要知道上一个访问的资源,然后放入名单中进行判断.那么如何获取上一个访问的资源呢,可以通过http_referers模块来实现. 1.查看 nginx.conf可以查看日志的配置中有下面这一段 所以可以通过看日志来看看 $http_referer 保存的信息是什么了. 2. 配置一个html,html信息如下 <html> &…
Nginx作为静态资源web服务之跨域访问 首先了解一下什么是跨域 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器施加的安全限制. 所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子: http://www.123.com/index.html 调用 http://www.123.com/server.php (非跨域) http://www.123.com/index.html 调用 http://www.456.com/server.php (主域…
Nginx作为静态资源web服务之文件读取 文件读取会使用到以下几个配置 1. sendfile 使用nginx作为静态资源服务时,通过配置sendfile可以有效提高文件读取效率,设置为on表示启动高效传输文件的模式.sendfile可以让Nginx在传输文件时直接在磁盘和tcp socket之间传输数据.如果这个参数不开启,会先在用户空间(Nginx进程空间)申请一个buffer,用read函数把数据从磁盘读到cache,再从cache读取到用户空间的buffer,再用write函数把数据从…
一.CDN 1.定义: 内容分发的逻辑网络. 2.作用: CDN能做到传输延时的最小化. CDN请求示意图如下: 二.静态资源需要配置的一些语法模块. 1.配置语法 - 文件读取 Syntax : sendfile on | off; Default : sendfile off; Context : http,server,location,if in location 当然现在随着Nginx和Linux的版本不断更新,已经出现了异步文件读取的模块:--with-file-aio模块. 2.t…
一.控制浏览器缓存 1. 浏览器缓存简介 浏览器缓存遵循HTTP协议定义的缓存机制(如:Expires;Cache-control等). 当浏览器无缓存时,请求响应流程 当浏览器有缓存时,请求响应流程 浏览器缓存校验过期机制 校验是否过期 Cache-Control(max-age).Expires 协议中Etag头信息校验 Etag Last-Modified头信息校验 Last-Modified 浏览器请求流程 2. Nginx控制浏览器缓存配置 Nginx通过添加Cache-Control…
server { listen   80; server_name    localhost; sendfile    on; access_log    /var/log/nginx/host.access.log  main; #以jpg.gif.png结尾的下载路径 location ~.*\.(jpg|gif|png)$ {                #gzip on;                #gzip_http_version 1.1;                #gz…
一.跨域访问 1.什么是跨域? 参看我的另一篇博客(https://www.cnblogs.com/chrdai/p/11280895.html) 2.为什么浏览器禁止跨域访问? 不安全,容易出现CSRF攻击. a.什么是CSRF攻击呢? CSRF(Cross-site request forgery)攻击就是跨站式攻击.原理如下: 当用户去访问正规网站(网站A)时,不小心点到了恶意网站B,网站B通过http Response向该用户发送一些带有恶意的请求,让用户在去请求网站A,这样就形成了跨站…
一.静态资源web服务 1.1 静态资源 静态资源定义:非服务器动态生成的文件. 1.2 静态资源服务场景-CDN 1.3 文件读取配置 1.3.1 sendfile 配置语法: syntax: sendfile on | off; default:sendfile off context:http,server,location,if in location 注 –with-file-aio异步文件读取 1.3.2 tcp_nopush 作用:sendfile 开启的情况下,提高网络包的传输效…
在搭建网站的时候,往往会加载很多的图片,如果都从 Tomcat 服务器来获取静态资源,这样会增加服务器的负载,使得服务器运行 速度非常慢,这时可以使用 Nginx 服务器来加载这些静态资源,这样就可以实现负载均衡,为 Tomcat 服务器减压了.这篇文章,我们将一起去使用 Nginx 去搭建静态资源 web 服务器. 首先我把构建的 hexo 博客文件放在 Nginx 目录下,目录结构如下: 再修改 Nginx 配置文件 nginx.conf 中的 server: server { listen…
静态资源:非服务器动态运行生成的文件 浏览器端渲染:html ,css,js 图片:jpeg,gif,png 视频:flv ,mpeg 文件:txt,等任意下载文件 静态资源服务场景:CDN 文件读取高效: sendfile on|off 在sendfile开启的情况下,提高网络包的传输效率,可以打开下面 tcp_nopush on 在keepalive链接下,提高网络包的传输实时性,采用tcp_nodelay on; 在服务器端进行压缩,在浏览器端进行解压 gizp on 压缩比: gizp_…
1.静态资源类型 非服务器动态运行生成的文件 类型种类 浏览器端渲染     HTML.CSS.JS 图片            JPEG.GIF.PNG 视频            FLV.MPEG 文件            TXT.等任意下载文件 2.静态资源服务场景-CDN 配置语法 1.文件读取 Syntax:sendfile on l off: Default:sendfile off: Context:http,server,location,if in location 引读:一…
静态资源服务场景CDN 配置语法-文件读取(nginx优势之一sendfile) 配置语法-tcp_nopush 简单的说就是把多个包合并,一次传输给客户端 配置语法-tap_nodelay 配置语法-压缩(gzip对图片的压缩效率不高,对文本的压缩效率比较高) 是否开启压缩 压缩级别 控制gzip的http协议版本 扩展nginx压缩模块 实例…
防盗链目的 防止资源被盗用 http_refer 主要是判断refer信息,判断请求来源是不是合法身份 语法 实例 参数说明: none表示允许没有代理的头信息过来,blocked表示refer信息不是标准的http://,允许一些非正式的不带http的访问,当来源不符合要求是,$invalid_refers就会变成1,return 403…
语法 虽然说浏览器禁止跨站访问以防(CSRF),但出于一些原因还是要进行跨站访问,服务端通过设置头信息Access-Control-Allow-Orign:xxxx,客户端收到后就会允许跨站访问了 实例…
搭建静态资源web服务器 1,创建静态页面 在nginx的安装目录(/usr/local/nginx)下创建文件夹webapplications/helloworld,然后创建一个名为index.html的页面. 2,修改配置文件 打开nginx的配置文件(默认在/usr/local/nginx/conf/nginx.conf),添加以下配置: 保存配置后,运行nginx –s reload重新加载配置. 3,访问 打开浏览器,输入地址:http://192.168.1.50/,即可访问我们的静…
上一节中编译好自己的nginx服务器后, 现在要对nginx.conf文件进行配置,搭建一个可用的静态资源Web服务器 1.放入可访问的html文件到nginx文件夹下,如图1所示: 这里我放入的是一个videojs示例: 2.修改conf/nginx.conf配置文件,主要是修改server{}里的内容 3.退出nginx.conf配置文件的编辑,重新加载修改后的配置文件,以ip:port的方式访问nginx服务器,即可: 在conf文件夹下输入: ../sbin/nginx -s reloa…
修改nginx.conf文件,用于nginx处理静态资源. 主要配置如下(在server配置中加入location配置即可): server { listen 80; server_name 123.57.162.75; charset utf-8; index index.html index.htm index.jsp index.do; root /opt/nginx-1.4.7/html/resources; #配置Nginx动静分离,定义的静态页面直接从Nginx发布目录读取. loc…
nginx发布静态资源 参考 ngx_http_index_module index指令 ngx_http_core_module http指令 location指令 listen指令 root指令 server指令 server_name指令 Nginx之坑:完全理解location中的index,配置网站初始页 https://blog.csdn.net/qq_32331073/article/details/81945134 步骤 创建静态资源 为 conf/nginx.conf http…
最近公司需要做一个宣传片播放  视频有点大 好几百M 就想到使用Nginx来代理静态资源,在过程中出现了一些问题,比如端口没开.访问是403等,没有成功,后面慢慢查找问题,才发现大部分博客资料的都不全,所以在这里记录一下. 安装过程本文就不提了 网上都有很多 本文主要说明 nginx.conf 的配置 如下: 进入编辑nginx.conf 文件 输入密码 配置nginx.conf 上传文件到配置的路径 在网页地址栏输入对应的地址 如果出现 nginx静态资源文件无法访问,403 forbidde…
目的         用nginx做静态资源代理可以减少请求对后台服务器的压力,使响应更加迅速. 配置        情景一           url : 127.0.0.1:8000/images/abc.jepg      path:  /static/iamges/abc.jepg          这种情况很容易配置:   server { listen 8000; server_name myserver; client_max_body_size 251m; location /i…
1. apache静态资源跨域访问 找到apache配置文件httpd.conf 找到这行 #LoadModule headers_module modules/mod_headers.so把#注释符去掉 LoadModule headers_module modules/mod_headers.so目的是开启apache头信息自定义模块 在独立主机配置文件中新增header Header set Access-Control-Allow-Origin *例如: <VirtualHost *:8…
nginx配置静态资源:配置绝对路径 项目都是html格式的文件,我的项目路径:E:\javaservice\nginx-1.15.7\html assets:静态资源 html:站点文件 upload:上传的文件 如图 html:站点文件 nginx配置: server { listen 8081; server_name localhost; location /{ root html/html; index index.html index.htm index.jsp; } locatio…
在前面的博客中<说说 NGINX 的配置及优化>的 2.5 小节里面,提到 location 模块是 nginx 中用的最多的,也是最重要的模块,负载均衡.反向代理.虚拟域名等都与它相关. 首先我们可以先来看一同事发过来的信息 这里想要在通用匹配 “/” 的情况下直接访问动态资源,而当访问到 “auto_dish” 的时候匹配静态文件.咋一看一脸懵逼,感觉没啥问题,仔细一看还是有些许端倪的.一方面是与两个 location 的匹配顺序有关,另一方面是目录路径的原因. 想实现只需要调整前后 lo…
Nginx是一款轻量级的网页服务器.反向代理器以及电子邮件代理服务器.Nginx采用的是异步非阻塞的通信机制(epoll模型),支持更大的并发连接.所谓的epoll模型:当事件没有准备好时,就放入epoll(队列)里面.如果有事件准备好了,那么就去处 理:如果事件返回的是EAGAIN,那么继续将其放入epoll里面.从而,只要有事件准备好了,我们就去处理它,只有当所有事件都没有准备好时,才在 epoll里面等着.这样,我们就可以并发处理大量的并发了,当然,这里的并发请求,是指未处理完的请求,线程…
[编者按]本文主要介绍 nginx 的主要功能以及如何通过 NGINX 优化 Python 应用性能.本文系国内 ITOM 管理平台 OneAPM 编译呈现. Python 的著名之处在于使用简单方便,软件开发简单,而且据说运行性能优于其它脚本语言.(虽然最新版本的 PHP.PHP 7 可能会与它展开激烈竞争.) 所有人都希望自己的网站和应用程序运行得更快一些.但是,每个网站在流量增长或骤然出现流量峰值时都很容易发生性能问题.甚至宕机(这一般会在服务器最繁忙的时候发生).此外在运行期间,无论是流…
我近期对服务器进行了少量改进,虽然之前使用了nginx反向代理之后性能有所提高,但仍然不够,需要使用缓存来大幅度提高静态资源的访问速度. 服务器上的静态资源主要有这些:png, jpg, svg, js, css等.下面,我通过新的nginx配置来实现缓存.对红色的字我会额外进行说明. worker_processes 1; events { worker_connections 1024; multi_accept on; use epoll; } http { include mime.ty…