Nginx静态资源使用方法
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章主要为大家详细介绍了Nginx静态资源使用方法,Nginx静态资源如何对文件进行压缩和添加防盗链,零基础也能参考此文章,感兴趣的小伙伴们可以参考一下。1)静态资源类型Nginx作为静态资源we
千家信息网最后更新 2025年02月03日Nginx静态资源使用方法
这篇文章主要为大家详细介绍了Nginx静态资源使用方法,Nginx静态资源如何对文件进行压缩和添加防盗链,零基础也能参考此文章,感兴趣的小伙伴们可以参考一下。
1)静态资源类型
Nginx作为静态资源web服务器部署配置,传输非常的高效,常常用于静态资源处理、请求、动静分离!
非服务器动态运行生成的文件属于静态资源!
类型 | 种类 |
---|---|
浏览器端渲染 | HTML、CSS、JS |
图片 | JPEG、GIF、PNG |
视频 | FLV、MP4 |
文件 | TXT、任意下载文件 |
2)静态资源场景
静态资源传输延迟最小化!
如图:
3)静态资源配置语法
1)文件读取高效-->sendfile
Syntax:sendfile on | off ;Default:sendfile off ;Context:http、server、location、if in location ;
2)提高网络传输效率-->nopush
Syntax:tcp_nopush on | off ;Default:tcp_nopush off ;Context:http、server、location ;作用: sendfile开启情况下, 提⾼⽹络包的'传输效率';
3)与 tcp_nopush 之对应的配置 tcp_nodelay
Syntax: tcp_nodelay on | off ;Default: tcp_nodelay on ;Context:http, server, location ;作⽤: 在keepalive连接下,提⾼⽹络的传输'实时性';
4)静态资源文件压缩
Nginx 将响应报⽂发送⾄客户端之前可以启⽤压缩功能,这能够有效地节约带宽,并提⾼响应⾄客户端的速度。
1)gzip压缩配置语法
Syntax: gzip on | off ;Default: gzip off ;Context: http, server, location, if in location ;作⽤:传输压缩;
2)gzip压缩比率配置语法
Syntax: gzip_comp_level level ;Default: gzip_comp_level 1 ;Context: http, server, location ;作⽤:压缩本身⽐较耗费服务端性能 ;
3)gzip压缩协议版本
Syntax: gzip_http_version 1.0 | 1.1 ;Default: gzip_http_version 1.1 ;Context: http, server, location ;作⽤: 压缩使⽤在http哪个协议, 主流版本1.1 ;
4)扩展压缩模块
Syntax: gzip_static on | off | always ;Default: gzip_static off ;Context: http, server, location ;作⽤: 预读gzip功能 ;
5)图片压缩案例
[root@nginx ~]# mkdir -p /soft/code/images[root@nginx ~]# vim /etc/nginx/conf.d/static_server.confserver { listen 80; server_name 192.168.1.10; sendfile on; access_log /var/log/nginx/static_access.log main; location ~ .*\.(jpg|gif|png)$ { gzip on; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/json application/x-javascript app lication/css application/xml application/xml+rss text/javascript application/x-httpd-php image/jpeg image/gif image/png; root /soft/code/images; }}[root@nginx ~]# nginx -t[root@nginx ~]# nginx -s reload
由于图片的压缩效果不是太好,所以这里只附上配置!
6)文件压缩案例
[root@nginx ~]# mkdir -p /soft/code/doc[root@nginx ~]# vim /etc/nginx/conf.d/static_server.confserver { listen 80; server_name 192.168.1.10; sendfile on; access_log /var/log/nginx/static_access.log main; location ~ .*\.(txt|xml)$ { gzip on; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/json application/x-javascript app lication/css application/xml application/xml+rss text/javascript application/x-httpd-php image/jpeg image/gif image/png; root /soft/code/doc; }}[root@nginx ~]# nginx -t[root@nginx ~]# nginx -s reload
1)没有启用gzip文件压缩
2)启用gzip文件压缩
5)静态资源浏览器缓存
HTTP协议定义的缓存机制(如: Expires; Cache-control 等)
1)浏览器无缓存
浏览器请求-->无缓存-->请求web服务器-->请求响应-->呈现
2)浏览器有缓存
浏览器请求->有缓存->校验过期->是否有更新->呈现校验是否过期 Expires HTTP1.0, Cache-Control(max-age) HTTP1.1协议中Etag头信息校验 Etag ()Last-Modified头信息校验 Last-Modified (具体时间)
1)缓存配置语法expires
Syntax: expires [modified] time ;Default: expires off ;Context: http, server, location, if in location ;作⽤: 添加Cache-Control Expires头 ;
2)配置静态资源缓存
[root@nginx conf.d]# vim static_server.conf server { listen 80; server_name 192.168.1.10; sendfile on; access_log /var/log/nginx/static_access.log main; location ~ .*\.(txt|js|css|html)$ { root /soft/code/doc; expires 1h; } location ~ .*\.(jpg|gif|png)$ { root /soft/code/images; expires 7d; }}[root@nginx conf.d]# nginx -t[root@nginx conf.d]# nginx -s reload
浏览器测试效果:
3)配置静态文件不缓存
[root@nginx conf.d]# vim static_server.confserver { listen 80; server_name 192.168.1.10; sendfile on; access_log /var/log/nginx/static_access.log main; location ~ .*\.(txt|js|css|html)$ { root /soft/code/doc; add_header Cache-Control no-store; add_header Pragma no-cache; } location ~ .*\.(jpg|gif|png)$ { root /soft/code/images; expires 7d; }}[root@nginx conf.d]# nginx -t[root@nginx conf.d]# nginx -s reload
浏览器测试效果:
6)静态资源防盗链
盗链指的是在⾃⼰的界⾯展示不在⾃⼰服务器上的内容,通过技术⼿段获得他⼈服务器的资源地址,绕过别⼈资源展示⻚⾯,在⾃⼰⻚⾯向⽤户提供此内容,从⽽减轻⾃⼰服务器的负担,因为真实的空间和流量来⾃别⼈服务器;
防盗链设置思路: 区别哪些请求是⾮正常⽤户请求;
基于http_refer 防盗链配置模块:
Syntax: valid_referers none | blocked | server_names | string ...;Default: -Context: server, location
另一台nginx服务器(初始的情况),编写html文件:
[root@nginx02 conf.d]# vim /usr/share/nginx/html/dl.html pachong [root@nginx02 conf.d]# nginx -t [root@nginx02 conf.d]# nginx -s reload
第一台服务正常访问:
第二胎服务器盗用第一台服务器的图片:
2)启用防盗链
[root@nginx conf.d]# vim static.confserver { listen 80; server_name 192.168.1.10; valid_referers none blocked 192.168.1.10; location ~ .*\.(jpg|gif|png)$ { if ($invalid_referer) { return 403; break; } root /soft/code/images; }}[root@nginx conf.d]# nginx -t[root@nginx conf.d]# nginx -s reload
再次访问第二台服务器:
关于Nginx静态资源使用方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果喜欢这篇文章,不如把它分享出去让更多的人看到。
资源
静态
服务
文件
服务器
配置
缓存
浏览器
浏览
传输
防盗
图片
语法
内容
效果
使用方法
方法
信息
功能
客户
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全周法制主题
实行网络安全保护制度
密钥因子 网络安全
建立和落实网络安全责任制原则
2018网络安全周的主题
数据库裁撤
网络安全态势感知体系包括
北京联通软件开发待遇
tracer服务器配置
宝山区品牌软件开发售后服务
巴中软件开发市场价
大数据库的编程语言
东南大学网络安全怎么样学院
常州软件开发公司
数据库建立的要求
如果在数据库中已存在
某中小企业设计网络技术
idea服务器启动失败日志
河南网络安全测评公司
关于加强网络安全的调研报告
网络安全员未正确设置好网站
浙江免备案服务器云空间
腾讯人脸识别验证服务器错误
数据库的文件大小怎么改
集团网络安全 部署讲话
金融业网络安全市场开发策略
办公服务器如何搭建
工业软件开发岗位
数据库 超键 候选键 主键
深圳互联网软件开发哪家好