- 浏览: 1482152 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" "$content_type"'; access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; gzip_static on; gzip on; gzip_min_length 10; gzip_buffers 4 8k; gzip_comp_level 9; gzip_types text/plain application/x-javascript text/css application/xml; upstream newshooserver { server 192.168.106.81:80; } server { listen 8091; server_name 192.168.106.81; index index.jsp; location / { proxy_pass http://newshooserver; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location ~ .*\.(jsp|action){ gzip off; proxy_pass http://newshooserver; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
转http://willko.iteye.com/blog/667091
对于静态文件先压缩再输出是再正常不过的事了,但是这种压缩都是动态的,在每次请求都会先压缩再输出,大大浪费了很多cpu。如果前端加了反向代理缓存,那能减少这种浪费。但不是每个生产环境前端都有缓存的。而nginx有个模块Gzip Precompression,这个模块的作用是对于需要压缩的文件,直接读取已经压缩好的文件(文件名为加.gz),而不是动态压缩,对于不支持gzip的请求则读取原文件。 编译nginx的时候需要把--with-http_gzip_static_module参数加上。 配置: Java代码 #启动预压缩功能,对所有类型的文件都有效 gzip_static on; #找不到预压缩文件,进行动态压缩 gzip on; gzip_min_length 1000; gzip_buffers 4 16k; gzip_comp_level 5; gzip_types text/plain application/x-javascript text/css application/xml; #gzip公共配置 gzip_http_version 1.1 gzip_proxied expired no-cache no-store private auth; #纠结的配置 #对于ie有个bug,响应vary头后将不会缓存请求,每次都会重新发新的请求。所以,对于ie 1-6直接禁用gzip。 gzip_disable "MSIE [1-6]\."; #开启Http Vary头,vary头主要提供给代理服务器使用,根据Vary头做不同的处理。例如,对于支持gzip的请求反向代理缓存服务器将返回gzip内容,不支持gzip的客户端返回原始内容。 gzip_vary on; gzip_static配置优先级高于gzip 开启nginx_static后,对于任何文件都会先查找是否有对应的gz文件 gzip_types设置对gzip_static无效 为了方便生产环境自动生成压缩文件,写了一条命令自动完成这些事情 根据文件后缀名遍历需要压缩的文件 对比文件的修改时间 自动调用gzip生成压缩文件 Java代码 find ./ -type f -printf '%TY %Tm %Td %TH %TM %TS\t%p\n' | grep -iE '\.(html|txt|css|js)$' | awk -F'\t' '{ gz_file=$2 ".gz"; stat_cmd="stat -c \"%Y\" " gz_file; exist_cmd="[ -e \"" gz_file "\" ] && echo 1 || echo 0"; exist_cmd | getline gz_file_exist; if (gz_file_exist) { stat_cmd | getline last_modify_timestamp; } else { last_modify_timestamp=0; } if (last_modify_timestamp < mktime($1)) { system("gzip -c9 " $2 " > " gz_file); print gz_file " [created]"; } }' chrome将不会支持gzip了,而用SDCH,SDCH比较像浏览器级的minify
评论
1 楼
lck140
2013-08-01
经过本人在linux下对nginx进行编译安装及测试,发现根本不行。
压缩好的xxx.gz.js被加载到界面后根本没被解压。此方法不可行。
测试版本:nginx-1.5,环境linux,测试过程完全按上面的配置。
QQ:402081881
压缩好的xxx.gz.js被加载到界面后根本没被解压。此方法不可行。
测试版本:nginx-1.5,环境linux,测试过程完全按上面的配置。
QQ:402081881
发表评论
-
ios的safari使用自制ca证书测试webrtc
2018-08-20 13:31 2469这个需要注意 https://stackoverflow.c ... -
nginx push_upstream模块的websocket
2018-05-04 23:27 1227参考 https://www.rails365.net/art ... -
openresty聊天室的helloworld
2018-04-22 19:25 821openresty的websocket + redis的sub ... -
openresty websocket
2018-04-18 17:08 1546mac安装openresty brew install o ... -
nginx模块开发(三)upstream模块
2017-08-20 23:48 848使用nginx-1.13.4版本 三个文件ngx_http_ ... -
nginx模块开发(二) 使用gdb-dashboard调试
2017-08-11 18:47 2015gdb-dashboard或者 gdbgui 或者gdb自带 ... -
nginx模块开发(一)
2017-07-29 22:44 570决定重新整理nginx模块开发 helloworld con ... -
nginx带进度条的上传超大文件
2016-12-12 18:40 387911年写的 http://haoningabc.iteye.c ... -
nginx rewrite替代apache rewrite
2016-10-18 20:30 843清理chrome的缓存 chrome://appcache-i ... -
ffmpeg+nginx 的直播(2,直播摄像头和麦克风)
2016-05-28 20:21 4382假设我的服务器是centos7 192.168.139.117 ... -
ffmpeg+nginx 的直播(1,直播播放的视频文件)
2016-05-26 17:11 661564位操作系统centos7 ############ 1.一 ... -
nginx执行流程
2014-04-15 18:35 1084目标:打印nginx执行之后的流程方法 my_debug.c ... -
graphviz绘制nginx函数调用图
2014-04-14 18:43 1470以下是c的版本 c++代码去 http://www.cnblo ... -
nginx的远程调用模块
2014-03-24 14:31 2773在tx工作的时候,自己的虚拟机总是连接不上,公司封了ssh端口 ... -
通过nginx远程执行shell
2014-03-03 10:26 5098saltstack远程执行shell,远程管理等返回json已 ... -
nginx的upstream模块
2014-01-17 17:37 3206参考http://nginx.weebly.com/31034 ... -
nginx调试日志的几种方法
2013-10-17 22:54 23319最简单的方式就是 fprintf(stderr, &qu ... -
nginx HttpSecureLinkModule 过期token验证模块
2012-11-07 02:15 6091用途,确认一个链接比如下载pdf,在一定有效期内有用 可以加 ... -
nginx 上传进度条
2012-11-01 16:24 7628费劲周折,一晚上终于搞定了,nginx版本1.38 ----- ... -
ubuntu装openrestry
2012-03-01 00:16 1338apt-get install make apt-get in ...
相关推荐
标题 "nginx访问静态文件不下载" 暗示了用户可能遇到了在使用Nginx服务器时,尝试访问静态文件(如HTML、CSS、JavaScript或图片等)却导致浏览器下载文件而不是正常显示的情况。Nginx是一款高性能的HTTP和反向代理...
# 静态文件目录,根据实际情况调整 index index.html index.htm; location / { try_files $uri $uri/ =404; } } } ``` 这里的关键行是`gzip on;`,它开启了GZIP压缩。`gzip_types`指令定义了哪些类型的文件...
这样,当Vue Element Admin项目被打包时,所有匹配规则的文件都会被预先gzip压缩,准备就绪后上传到Nginx服务器。 总结起来,这个压缩包提供了一个已经优化过的Vue Element Admin项目,它经过了gzip压缩,能够更快...
它不仅可以作为静态文件服务器,还能通过反向代理功能将请求转发给后端的应用服务器,实现负载均衡,提高服务的可用性和响应速度。 gzip压缩技术则是在HTTP传输中广泛使用的一种数据压缩方法,它可以减小网页资源的...
2. **gzip压缩**:为了提高网站性能,Nginx提供了gzip静态内容压缩功能,可以减小传输数据量,加快页面加载速度。在Nginx配置文件中,我们需要添加或修改以下部分来启用gzip: ```nginx gzip on; gzip_types text...
Nginx擅长处理静态文件请求,可以高效地进行文件传输,因此在静态资源服务方面表现出色。 ### 2. 实现本地文件映射的步骤 #### 2.1 安装Nginx 首先,你需要在你的服务器上安装Nginx。在Ubuntu或Debian系统中,...
在Nginx中,可以使用ngx_http_gzip_static_module模块来实现静态文件的压缩。 要配置Nginx的静态文件压缩,首先需要在编译Nginx时加入静态压缩模块。这可以通过在编译命令行中添加 "--with-...
nginx配置文件nginx.conf ,主要标记了nginx 的负载配置upstream,静态资源缓存,是否开启压缩
这些工具在打包过程中自动将JS文件转换为gzip格式,生成的文件可以在静态资源服务器上直接使用。 在提供的压缩包中,"gzip使用说明"文档将详细解释如何安装gzip和实际操作步骤。它可能涵盖了在不同操作系统(如...
在Nginx中启用Gzip压缩,可以使静态资源(如HTML、CSS、JavaScript等)在传输过程中被压缩,降低了带宽需求,尤其对于移动用户和低带宽环境来说,效果尤为明显。 以下是一些Nginx中Gzip压缩的主要配置指令: 1. `...
在Nginx中启用Gzip压缩通常涉及编辑Nginx的配置文件,通常是`/etc/nginx/nginx.conf`或`/usr/local/nginx/conf/nginx.conf`。以下是一些关键配置指令及其作用: 1. `gzip on;`:这一行用于开启Gzip压缩功能。设置为...
当用户访问相应域名时,Nginx根据server_name匹配并找到正确的server块配置,然后根据请求的URI去root指令指定的目录中查找对应的静态文件,并将文件内容返回给用户。 以上配置完成后,还需要创建网站资源目录并...
其中,Gzip是一种广泛使用的压缩算法,它可以有效地减小静态资源(如HTML、CSS、JavaScript文件)的大小,从而加快内容的传输速度。Nginx作为一个高性能的HTTP和反向代理服务器,它提供了对Gzip压缩的支持。这篇文章...
如果想要进一步提高性能,可以结合使用Gzip压缩和其他性能优化策略。 总的来说,`nginx-http-concat`模块是Nginx服务器的一个强大工具,可以帮助优化网站性能,尤其是对于那些包含大量静态资源的大型网站。通过减少...
4、单击“服务”标签,选中“压缩应用程序文件”和“压缩静态文件”,同时根据情况设置临时目录的最大容量,初期可以限制为1G左右; 5、返回Internet信息服务(IIS)管理器,右击“Web服务扩展”,弹出Web服务扩展...
2. **压缩输出**:启用Gzip压缩可以显著减小静态文件的大小,提高传输效率。在http配置段中添加 `gzip on;` 即可开启Gzip。 3. **合并和缩小CSS/JS文件**:将多个CSS或JavaScript文件合并为一个文件,可以减少HTTP...
6. **Gzip压缩**:为了减少网络传输的数据量,Nginx可以启用Gzip压缩,对响应内容进行压缩后再发送给客户端。 7. **缓存机制**:Nginx可以缓存经常请求的资源,减少对后端服务器的压力,提高响应速度。 8. **限速...
本篇文章将详细介绍Nginx的各项配置,并结合提供的"nginx.conf"配置文件和"nginx.txt"说明文件,深入解析Nginx的配置语法和应用场景。** ### 1. Nginx基本结构 Nginx的配置文件主要由多个块组成,包括全局块、...
3. **静态内容服务**:Nginx非常适合于提供静态内容,如图片、视频和HTML页面。 4. **SSL/TLS终端**:Nginx支持SSL和TLS协议,可以作为SSL终端,为HTTP流量提供加密。 5. **模块化设计**:Nginx具有模块化的设计,...