导航:首页 > 文件处理 > nginx压缩图片

nginx压缩图片

发布时间:2023-06-29 04:31:46

⑴ 怎样使用 nginx 压缩html

gzip 是在 linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。

在Nginx安装完成之后,我们可以开启Gzip压缩功能,这里Nginx默认只能对text/html类型的文件进行压缩。

下面的指令为开启Gzip的指令:

java">#启用gzip压缩功能
gzipon;

#默认值是1.1,就是说对HTTP/1.1协议的请求才会进行gzip压缩
gzip_http_version1.1;

gzip_varyon;

#压缩级别,1压缩比最小处理速度最快,9压缩比最大但处理最慢,同时也最消耗CPU,一般设置为3就可以了
gzip_comp_level6;

#nginx做前端代理时启用该选项,表示无论后端服务器的headers头返回什么信息,都无条件启用压缩
gzip_proxiedany;

#什么类型的页面或文档启用压缩
gzip_typestext/plaintext/cssapplication/jsonapplication/x-javascripttext/xmlapplication/xmlapplication/xml+rsstext/javascriptimage/jpegimage/gifimage/png;

#最小压缩的页面,如果页面过于小,可能会越压越大,这里规定大于1K的页面才启用压缩
gzip_min_length1024;

#设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流
gzip_buffers168k;

#禁用IE6的gzip压缩
gzip_disable"MSIE[1-6].(?!.*SV1)";

相关配置说明:

1、在gzip_http_version的默认值是1.1,就是说对HTTP/1.1协议的请求才会进行gzip压缩。

如果使用了proxy_pass进行反向代理,那么nginx和后端的upstream server之间是用HTTP/1.0协议通信的,如果使用nginx通过反向代理做Cache Server,前端的nginx没有开启gzip,且后端的nginx上未设置gzip_http_version为1.0,那么Cache的url将不会被gzip压缩。

2、gzip_disable的设置是禁用IE6的gzip压缩

IE6的某些版本对gzip的压缩支持不是很好,会造成页面的假死。对img进行gzip后会造成IE6的假死,把对img的gzip压缩去掉后就正常了。为了确保其它的IE6版本不出问题,所以加上了gzip_disable配置项。

3、gzip_min_length设置允许压缩的页面最小字节数,页面字节数从header头中的Content-Length中进行获取。

默认值是0,不管页面多大都压缩。建议设置成大于1k的字节数,小于1k可能会越压越大。 即: gzip_min_length 1024。

⑵ 服务器开启Gzip压缩功能

在负载均衡中有一个必须要做的事情就是给服务器开启Gzip压缩功能,对用户请求的页面进行压缩处理,以达到节省网络带宽,提高网站速度的作用。

Gzip是若干文件压缩程序的简称,通常指GNU计划的实现,此处的Gzip代表的就是GUN ZIP,这也是HTTP1.1协议定义的两种压缩方法中最常用的一种压缩方法,客户端浏览器大都支持这种压缩格式。

接下来,将介绍Apache、Nginx 如何开启Gzip压缩。

Apache开启Gzip要看查看是否已经开启mod_deflate模块,如果没有则需要先加载,在配置文件httpd.conf中将

前面的#号去掉。另外,如果对Apache的配置文件不太懂的客户在修改配置文件之前对配置文件进行备份。

开启模块后,在httpd.conf配置文件的最下面空白处添加一下内容:

其中DeflateCompressionLevel 的意思是压缩等级,共分为1-9,9级为最高,不建议使用太高的压缩比,这样会对CPU产生太大的负担。

打开配置文件 nginx.conf找到Gzip on 把前面的注释符号#去掉即可开启GZIP服务。然后配置GZIP即可。

下面是一个相对优化不错的配置。

⑶ 前端性能优化之Gzip

由于我们团队的前端项目越来越庞大,加之Vue的SPA首屏加载特性,导致系统第一次加载速度越来越缓慢,可能达到几十秒的程度,所以为了优化用户性能体验,我们选择了开启Gzip进行文件压缩,确实达到了显着的效果。

Gzip原本用户UNIX系统的文件压缩,后来逐渐成为Internet最主流的数据压缩格式。
当用户访问我们的web站点时,服务器就将我们的网页文件进行压缩,将压缩后的文件传输到客户端,对于纯文本文件我们可以至少压缩到原大小的40%,这样大大提高了传输效率,页面便可更快的加载出来。

由于目前我们项目是使用ngxin来部署前端的,nginx自带 HttpGzip模块 所以我们直接对 nginx.conf 文件的http配置项进行配置即可。但相对的由于nginx自身处理请求然后压缩返回,会消耗对应的服务器内存。

测试效果

我们应尽可能减少对服务端内存的使用,毕竟服务端的资源是十分宝贵的,这里我们仍然使用nginx进行前端部署,我们在客户端替nginx处理压缩文件这一步操作,nginx便可直接使用我们压缩好的文件,下面是一个基于vue-cli配置的前端项目。

这里最好安装低版本,防止报错。

这里可以根据大家不同的配置,总之就是将webpack插件进行注册。

成功运行后,便可以在打包文件中看到.gz结尾的文件了,将打包后的文件上传到指定的nginx文件夹下。

这里需要nginx对应的插件 http_gzip_static_mole ,之前我是通过yum安装的nginx,这里似乎不可以,需要手动安装。这里目录可以根据大家个人情况而定。
安装nginx

修改nginx.conf

启动nginx服务

这里我们虽然服务端js文件夹里只有.gz格式的文件(其他的文件已删除),但客户端却成功读取了。

无论是服务端与客户端进行gzip的压缩,我们都大大缩小了文件体积,给用户带来了更好的体验。
服务端处理gzip优点是只需配置一下即可,无需复杂操作,但缺点是会消耗服务器内存。
客户端处理gzip优点是无需服务器进行文件压缩,减少服务器内存消耗,但配置起来相比服务端gzip会稍加繁琐。

Nginx中文文档
什么是GZIP,有什么优势,如何开启GZIP?
vue-cli4 开发项目中开启gzip压缩,优化打包体积,提升加载速度
Nginx gzip static静态压缩
配置nginx直接使用webpack生成的gz压缩文件,而不用nginx自己压缩

⑷ nginx默认文件下载地址

Windows系统下载安装Nginx以及host文件的介绍

1. Nginx的简单介绍

Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件(IMAP/POP3)代理服务器。Nginx占用内存少,并发能力强。

1.1 Nginx的安装

Nginx下载地址:http://nginx.org/en/download.html
这里选择了Windows的1.19.4版本

下载完成后解压压缩包
接下来测试一下是否能正常运行
双击nginx.exe打开或者根目录输入cmd打开输入命令,会发现有个窗口闪一下

1.启动命令 start nginx
2.重启命令 nginx -s reload (启动过才能输入重启命令)
3.停止命令 nginx -s stop
1
2
3
1
2
3

nginx启动后,会多出两个进程,其中占内存大的为主进程,主要为用户提供反向代理服务;其中占内存小的为守护进程,是为了主进程意外关闭的。所以在关闭Nginx时需要先结束守护进程才能关闭主进程。
测试是否能正常使用
浏览器输入localhost会出现欢迎界面表示成功。

1.2 Nginx配置文件说明

Nginx服务器的基础配置和默认配置都在这里–>打开conf文件夹下的nginx.conf文件

下面简单说明一下配置文件
########### 每个指令必须有分号结束。##################
user administrator administrators; #配置用户或者组,默认为nobody nobody。#worker_processes 2; #允许生成的进程数,默认为1
#pid /nginx/pid/nginx.pid; #指定nginx进程运行文件存放地址
error_log log/error.log debug; #制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg
events {
accept_mutex on; #设置网路连接序列化,防止惊群现象发生,默认为on
multi_accept on; #设置一个进程是否同时接受多个网络连接,默认为off
#use epoll; #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
worker_connections 1024; #最大连接数,默认为512
}
http {
include mime.types; #文件扩展名与文件类型映射表
default_type application/octet-stream; #默认文件类型,默认为text/plain
#access_log off; #取消服务日志
log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式
access_log log/access.log myFormat; #combined为日志格式的默认值
sendfile on; #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
sendfile_max_chunk 100k; #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
keepalive_timeout 65; #连接超时时间,默认为75s,可以在http,server,location块。

upstream mysvr {
server 127.0.0.1:7878;
server 192.168.10.121:3333 backup; #热备
}
error_page 404 https://www..com; #错误页
server {
keepalive_requests 120; #单连接请求上限次数。
listen 4545; #监听端口
server_name 127.0.0.1; #监听地址
location ~*^.+$ { #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
#root path; #根目录
#index vv.txt; #设置默认页
proxy_pass http://mysvr; #请求转向mysvr 定义的服务器列表
deny 127.0.0.1; #拒绝的ip
allow 172.18.5.54; #允许的ip
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
http{}块下可以包含多个server{}块,一个反向代理就是一个server

server {
#监听的端口号
listen 80;
#监听的域名
server_name localhost;

#进行反向代理配置
location / {
#root关键字:代表磁盘地址
root html; #默认为跟目录下的html文件夹
#index关键字:默认的欢迎界面
index index.html index.htm;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1.3 自己配置并测试

接下来自己写一个配置图片的代理服务器测试一下

首先在F盘创建一个文件夹img,其中保存一张图片 hello.png
在http{}块下配置图片的代理服务器
server {
listen 8080;
server_name 127.0.0.1;
location / {
root F:img;
}
}
1
2
3
4
5
6
7
1
2
3
4
5
6
7
之后浏览器输入http://127.0.0.1:8080/hello.png 就可以显示这张图片。

2. hosts文件的简单介绍

hosts文件是操作系统为了方便开发,在本地形成的域名与IP的映射文件,该文件只对本机有效。
位置:C:\Windows\System32\drivers\etc\hosts
示例:

#IP 域名 的映射关系,表示在浏览器输入hello.word.com就相当于输入例如127.0.0.1
127.0.0.1 hello.word.com
#可以配置多条映射
127.0.0.1 www.img.com
1
2
3
4
1
2
3
4
3. hosts文件和Nginx的配合使用实现域名的代理

3.1 如果想要通过http://hello.world.com域名访问localhost:8080的服务器

编辑hosts文件
127.0.0.1 hello.world.com
1
1
编辑nginx.conf配置文件
server {
listen 8080;
server_name hello.world.com;
location / {
root F:img;
}
}
1
2
3
4
5
6
7
1
2
3
4
5
6
7
浏览器输入hello.world.com:8080/hello.png测试

3.2 如果想要通过http://hello.world.com域名访问真实服务器地址http://localhost:8090

编辑hosts文件
127.0.0.1 hello.world.com
1
1
编辑nginx.conf配置文件
server {
listen 80;
server_name hello.world.com;
location / {
#代理真实的服务器地址
proxy_pass http://localhost:8090;
}
}
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
启动提前写好的端口号为8090的项目,启动Nginx
浏览器输入http://hello.world.com/,以为80端口可以省略,所以这里相当于http://hello.world.com:80/地址取访问真实的http://localhost:8090地址

打开CSDN APP,看更多技术内容
配置Nginx反向代理时配置hosts文件不起作用
原因:设备上的 hosts 出问题,电脑无法正常解析 解决方法:在网上找一个可用的hosts文件进行替换 hosts文件在/private/etc/hosts路径中,输入sudo vi /private/etc/hosts修改文件,将配置信息添加进去即可。 ...
继续访问
运维:nginx常用命令与问题解决(windows版)+ 安装stream模块
cmd 进入Nginx解压目录 执行以下命令 验证配置是否正确: nginx -t 查看Nginx的版本号: nginx -V 启动Nginx: start nginx 快速停止或关闭Nginx: nginx -s stop 正常停止或关闭 Nginx:nginx -s quit 配置文件修改重装载命令: nginx -s reload 测试nginx配置文件是否正确 nginx -t -c /nginx-1.20.1/conf/nginx.conf 测试nginx配置文件是否正确(简写) n
继续访问

最新发布 Windows中Nginx下载、安装、配置
Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru 站点(俄文:Рамблер)开发的.它也是一种轻量级的Web服务器,可以作为独立的服务器部署网站(类似Tomcat)。它高性能和低消耗内存的结构受到很多大公司青睐,如淘宝网站架设。先下载直接去官网nginx.org分别有Linux和Windows两个版本。
继续访问

nginx-windows系统下的安装及使用
目录 一、Nginx简介 二、安装部署 三、优化配置 一、Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru 站点(俄文:Рамблер)开发的. 它也是一种轻量级的Web服务器,可以作为独立的服务器部署网站(类似Tomcat)。...
继续访问

利用hosts文件修改域名映射实现Nignx反向代理
windos下查看dns地址 ipconfig -all 域名解析的原理 域名解析是首先会在本机的localhost中查找域名解析规则,如果没有会通过本地配置的域名服务器地址进行域名解析。 下面我们通过配置localhost进行域名访问。 第一步:路径:C:\Windows\System32\drivers\etc ...
继续访问

windows下载安装Nginx
安装步骤 1、下载Nginx 下载地址:http://nginx.org/en/download.html (Nginx官网); 2、下载之后,解压到指定的目录,就可以看到以下的目录 3、控制台(CMD)切换到Nginx目录下,输入start nginx ,然后在浏览器页面输入localhost,出现如下界面则表示安装成功。默认监听80端口号。 4、nginx命令介绍 (1)start nginx 开启nginx服务 (2)nginx.exe -s stop 关闭nginx服务,快速停止nginx,
继续访问

【Nginx】Nginx在Windows、Linux环境下的下载安装详细步骤
文章目录Nginx下载安装Nginx-windows安装下载安装启动Nginx-Linux安装下载准备安装启动 Nginx下载安装 Nginx跨平台,在windows、Linux都可以安装 Nginx-windows安装 下载 官网下载:nginx: download 下载稳定版,不要下载测试版 安装 下载得到zip压缩包,解压、解压到任何地方都行, 解压后的目录: conf 配置文件,我们常用的就是conf中的配置文件 contrib 存放工具组件文件 docs 存放文档 documents
继续访问

nginx和hosts配置
nginx.conf(nginx/conf/nginx.conf) server { listen 80; //网络路径 server_name image.jt.com; location / { //本地路径 root D:/images; } } hosts(C:/Windows/System32/drivers/etc/hosts) //图片服务器配置 127.0.0.1 image.jt.com //前端服务器配置 127.0.0.1 www.
继续访问
本地host,nginx配置
本地host, 路径: c/windows/system32/drivers/etc/host ip 域名 127.0.0.1 image.jt.com 127.0.0.1 manage.jt.com 127.0.0.1 web.jt.com 配置文件 根目录/coof/nginx.conf http{ server { # 端口 listten:80; # 域名 server_name www..com; #文件位置 localhost / { #根目
继续访问
nginx config配置中内置变量host的坑
我们在配置nginx的配置时,一般是这样的。举例: server { listen 80; server_name mirrors.maqian.work; location / { proxy_pass http://mirrors.aliyun.com; proxy_redirect off; proxy_set_header Host $proxy_host; proxy_set_header X-Rea
继续访问

Windows下载安装Nginx
一、介绍 Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。 Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,并在一个BSD-like协议下发行。由俄罗斯的程序设计师lgor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。 Nginx相较于Apache\lighttpd具有占有内存少,稳定性高等
继续访问

host文件在哪里_3:基本配置文件详解
上文中,我们已经顺利的完成了Nginx的安装,从本文开始我们真正的进入到Nginx的配置和使用。我们通过rpm命令可以查看Nginx安装之后文件都放在了哪里(rpm 是linux的rpm包管理工具),命令如下:rpm -ql nginx我们可以看到,Nginx的主要配置都在/etc/nginx这个目录下,usr/share是我们的服务目录,前面的文章提到,Nginx是模块化的设计,在配置这块这个特...
继续访问
Nginx下载与安装-Win系统
Nginx入门: 1、在Windows系统下,下载、安装、启动Nginx
继续访问

Windows安装nginx并配置端口转发
Windows安装nginx;nginx配置端口转发
继续访问

Nginx_关于Ngxin和hosts
浏览器访问的URL会根据两种方式去进行域名解析: 1、hosts 2、DNS 如果本地配置了hosts就不会去访问DNS了 举例: 访问jisumall.com这个域名,会先到hosts中去地址解析,hosts中有配置的话,那么根据hosts中的配置进行解析。 hosts配置文件 我们这里hosts文件有配置,所以这个域名访问的地址会被转发到本地的127.0.0.1(默认80端口)。(如果hosts没有配置,那么就会到网上的DNS服务器上面找域名)。 由于本地开启了nginx,本地的80端口被nginx接
继续访问

热门推荐 nginx配置:server_name的作用
nginx的server_name最新详解
继续访问
Windows 11下安装 nginx
Windows 安装 nginx!!!
继续访问

nginx快速开始
windows环境下使用nginx 1、下载 http://nginx.org/en/download.html 下载稳定版本,以nginx/Windows-1.12.2为例,直接下载 nginx-1.12.2.zip 2、解压 下载后解压,目录如下: 3、启动nginx 有很多种方法启动nginx (1)直接双击nginx.exe,双击后一个黑色的弹窗一闪而过 (2)打开cmd...
继续访问
Windows系统下载安装Nginx
下载 下载地址:http://nginx.org/en/download.html 本次下载的是1.18版本 下载后是一个压缩包。 安装 将压缩包解压即可。 启动 第一种:双击nginx.exe,小黑框一闪而过。 第二种:打开cmd命令窗口,切换到nginx解压目录下,输入命令 nginx.exe 或者 start nginx ,回车即可 ...
继续访问
本地host文件和nginx映射的关系
假设客户端A--------》浏览器url请求域名--------》域名被host解析对应的IP--------》到对应IP的服务器--------》先被nginx反向代理拦截--------》找到nginx上一样域名(nginx.conf配置文件中server里的server_name)--------》对应的反向映射地址(nginx.conf配置文件中同左server里的proxy_pass ...
继续访问
nginx
windows

⑸ nginx负载均衡时上传的图片怎么处理

局域网内可以考虑 rsync + inotify-tools

inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rsync同步,这样刚好解决了同步数据的实时性问题。

局域网内多台服务器时可以配置Nginx把上传等写操作固定到其中一台php-FPM服务器,然后用inotify+rsync同步到其它机器.

比如上传操作定向到服务器192.168.1.10进行处理:
location ^~ /upload.php {
include fastcgi_params;
fastcgi_pass 192.168.1.10:9000;
fastcgi_param SCRIPT_FILENAME /srv/www$fastcgi_script_name;
}
在服务器192.168.1.10上用inotify+rsync同步文件到其他服务器. 除上传外,删除、更改、移动等写操作也要定向到192.168.1.10这台服务器进行处理。

阅读全文

与nginx压缩图片相关的资料

热点内容
阿里备案买什么服务器 浏览:257
网络驱动下载到哪个文件夹 浏览:479
达内程序员培训西安 浏览:505
人保送车主惠app上怎么年检 浏览:604
android手机开机密码 浏览:480
linux查看某个进程命令 浏览:529
闲置的腾讯云服务器 浏览:437
rar压缩包mac 浏览:626
php混淆加密工具 浏览:581
java把数字拆分 浏览:464
如何下载svn服务器旧版本 浏览:559
命令与征服4攻略 浏览:914
实数四则运算法则概念 浏览:294
cs16优化命令 浏览:872
Minecraft云服务器免费 浏览:829
png压缩最小 浏览:182
老韩综app怎么看不了了 浏览:229
只有一个程序员的体验 浏览:323
用服务器地址怎么有网 浏览:552
路由器服务器昵称是什么 浏览:715