Skip to content

Commit 4959d78

Browse files
committed
Update gzip, mp4, image_filter modules
1 parent 2e6c79d commit 4959d78

File tree

5 files changed

+471
-7
lines changed

5 files changed

+471
-7
lines changed

SUMMARY.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,22 +51,23 @@
5151
- [ngx_http_flv_module](模块参考/http/ngx_http_flv_module.md)
5252
- [ngx_http_geo_module](模块参考/http/ngx_http_geo_module.md)
5353
- [ngx_http_geoip_module](模块参考/http/ngx_http_geoip_module.md)
54+
- [ngx_http_grpc_module](模块参考/http/ngx_http_grpc_module.md)
5455
- [ngx_http_gunzip_module](模块参考/http/ngx_http_gunzip_module.md)
5556
- [ngx_http_gzip_module](模块参考/http/ngx_http_gzip_module.md)
5657
- [ngx_http_gzip_static_module](模块参考/http/ngx_http_gzip_static_module.md)
5758
- [ngx_http_headers_module](模块参考/http/ngx_http_headers_module.md)
5859
- [ngx_http_hls_module](模块参考/http/ngx_http_hls_module.md)
59-
- ngx_http_image_filter_module
60+
- [ngx_http_image_filter_module](模块参考/http/ngx_http_image_filter_module.md)
6061
- [ngx_http_index_module](模块参考/http/ngx_http_index_module.md)
6162
- [ngx_http_js_module](模块参考/http/ngx_http_js_module.md)
6263
- [ngx_http_keyval_module](模块参考/http/ngx_http_keyval_module.md)
6364
- [ngx_http_limit_conn_module](模块参考/http/ngx_http_limit_conn_module.md)
6465
- [ngx_http_limit_req_module](模块参考/http/ngx_http_limit_req_module.md)
6566
- [ngx_http_log_module](模块参考/http/ngx_http_log_module.md)
6667
- [ngx_http_map_module](模块参考/http/ngx_http_map_module.md)
67-
- ngx_http_memcached_module
68+
- ngx_http_memcached_module(翻译中)
6869
- [ngx_http_mirror_module](模块参考/http/ngx_http_mirror_module.md)
69-
- ngx_http_mp4_module
70+
- [ngx_http_mp4_module](模块参考/http/ngx_http_mp4_module.md)
7071
- ngx_http_perl_module
7172
- ngx_http_proxy_module
7273
- [ngx_http_random_index_module](模块参考/http/ngx_http_random_index_module.md)

模块参考/http/ngx_http_gzip_module.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
- [gzip_vary](#gzip_vary)
1313
- [内嵌变量](#embedded_variables)
1414

15-
ngx_http_gzip_module模块是一个使用“gzip方法压缩响应的过滤器。 这通常有助于将传输数据的大小减少一半甚至更多
15+
`ngx_http_gzip_module` 模块是一个使用了 **gzip** 方法压缩响应的过滤器。有助于将传输数据的大小减少一半甚至更多
1616

1717
<a id="example_configuration"></a>
1818

@@ -170,8 +170,5 @@ gzip_types text/plain application/xml;
170170

171171
实现压缩比率,计算为原始压缩响应大小与压缩后响应大小之间的比率。
172172

173-
**待续……**
174-
175173
## 原文档
176-
177174
[http://nginx.org/en/docs/http/ngx_http_gzip_module.html](http://nginx.org/en/docs/http/ngx_http_gzip_module.html)
Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
# ngx_http_image_filter_module
2+
3+
- [指令](#directives)
4+
- [image_filter](#image_filter)
5+
- [image_filter_buffer](#image_filter_buffer)
6+
- [image_filter_interlace](#image_filter_interlace)
7+
- [image_filter_jpeg_quality](#image_filter_jpeg_quality)
8+
- [image_filter_sharpen](#image_filter_sharpen)
9+
- [image_filter_transparency](#image_filter_transparency)
10+
- [image_filter_webp_quality](#image_filter_webp_quality)
11+
12+
`ngx_http_image_filter_module` 模块(0.7.54+)是一个可以转换 JPEG、GIF、PNG 和 WebP 格式图像的过滤器。
13+
14+
此模块不是默认构建的,可以使用 `--with-http_image_filter_module` 配置参数启用。
15+
16+
> 该模块使用了 [libgd](http://libgd.org/) 库。建议使用该库的最新版本。
17+
18+
> WebP 格式支持出现在 1.11.6 版本中。要转换成此格式的图像,必须在编译 `libgd` 库时启用 WebP 支持。
19+
20+
<a id="example_configuration"></a>
21+
22+
## 示例配置
23+
24+
```nginx
25+
location /img/ {
26+
proxy_pass http://backend;
27+
image_filter resize 150 100;
28+
image_filter rotate 90;
29+
error_page 415 = /empty;
30+
}
31+
32+
location = /empty {
33+
empty_gif;
34+
}
35+
```
36+
37+
<a id="directives"></a>
38+
39+
## 指令
40+
41+
### image_filter
42+
43+
|\-|说明|
44+
|------:|------|
45+
|**语法**|**image_filter** `off`; <br/>**image_filter** `test`;<br/>**image_filter** `size`;<br/>**image_filter** `rotate 90 &#124; 180 &#124; 270`;<br/>**image_filter** `resize width height`;<br/>**image_filter** `crop width height`;|
46+
|**默认**|image_filter off;|
47+
|**上下文**|location|
48+
49+
设置图片执行的转换类型:
50+
51+
- `off`
52+
53+
关闭对 location 模块的处理
54+
55+
- `test`
56+
57+
确保响应是 JPEG、GIF、PNG 或 WebP 格式的图片。否则,返回 415(不支持的媒体类型)错误。
58+
59+
- `size`
60+
61+
以 JSON 格式输出图片的信息,例如:
62+
63+
```json
64+
{ "img" : { "width": 100, "height": 100, "type": "gif" } }
65+
```
66+
67+
发生错误时,输出如下:
68+
69+
```json
70+
{}
71+
```
72+
73+
- `rotate 90&#124;180&#124;270`
74+
75+
将图片逆时针旋转指定的度数。参数值可以包含变量。此模式可以单独使用,也可以与调整大小和裁剪转换一起使用。
76+
77+
- `resize width height`
78+
79+
按比例将图片缩小到指定的尺寸。要只指定一个维度,可以将另一个维度指定为 `-`。当发生错误,服务器将返回 415 状态码(不支持的媒体类型)。参数值可以包含变量。当与 `rotate` 参数一起使用时,旋转变换将在缩小变换**之后**执行。
80+
81+
- `crop width height`
82+
83+
按比例将图片缩小到较大的一边,并裁剪另一边多余的边缘。要只指定一个维度,可以将另一个维度指定为 `-`。当发生错误,服务器将返回 415 状态码(不支持的媒体类型)。参数值可以包含变量。当与 `rotate` 参数一起使用时,旋转变换将在缩小变换**之前**执行。
84+
85+
### image_filter_buffer
86+
87+
|\-|说明|
88+
|------:|------|
89+
|**语法**|**image_filter_buffer** `size`;|
90+
|**默认**|image_filter_buffer 1M;|
91+
|**上下文**|http、server、location|
92+
93+
设置用于读取图片的缓冲区的最大大小。当超过指定大小时,服务器返回 415 错误状态码(不支持的媒体类型)。
94+
95+
### image_filter_interlace
96+
97+
|\-|说明|
98+
|------:|------|
99+
|**语法**|**image_filter_interlace** `on` &#124; `off`;|
100+
|**默认**|image_filter_interlace off;|
101+
|**上下文**|http、server、location|
102+
|**提示**|该指令在 1.3.15 版本中出现|
103+
104+
如果启用此选项,图片最后将被逐行扫描。对于 JPEG,图片最终将采用**逐行 JPEG** 格式。
105+
106+
### image_filter_jpeg_quality
107+
108+
|\-|说明|
109+
|------:|------|
110+
|**语法**|**image_filter_jpeg_quality** `quality`;|
111+
|**默认**|image_filter_jpeg_quality 75;|
112+
|**上下文**|http、server、location|
113+
114+
设置 JPEG 图片的转换质量。可接受的值范围在 1 到 100 之间。较小的值意味着较低的图片质量和较少的数据传输。最大的推荐值是 95,参数值可以包含变量。
115+
116+
### image_filter_sharpen
117+
118+
|\-|说明|
119+
|------:|------|
120+
|**语法**|**image_filter_sharpen** `percent`;|
121+
|**默认**|image_filter_sharpen 0;|
122+
|**上下文**|http、server、location|
123+
124+
增加最终图像的清晰度。锐度百分比可以超过 100。零值将禁用锐化。参数值可以包含变量。
125+
126+
### image_filter_transparency
127+
128+
|\-|说明|
129+
|------:|------|
130+
|**语法**|**image_filter_transparency** `on` &#124; `off`;|
131+
|**默认**|image_filter_transparency on;|
132+
|**上下文**|http、server、location|
133+
134+
定义在使用调色板指定的颜色转换 GIF 图像或 PNG 图像时是否保留透明度。透明度的丧失使图像的质量更好的。PNG 中的 alpha 通道透明度始终保留。
135+
136+
### image_filter_webp_quality
137+
138+
|\-|说明|
139+
|------:|------|
140+
|**语法**|**image_filter_webp_quality** `quality`;|
141+
|**默认**|image_filter_webp_quality 80;|
142+
|**上下文**|http、server、location|
143+
|**提示**|该指令在 1.11.6 版本中出现|
144+
145+
设置 WebP 图片的转换质量。可接受的值在 1 到 100 之间。较小的值意味着较低的图片质量和较少的数据传输。参数值可以包含变量。
146+
147+
## 原文档
148+
[http://nginx.org/en/docs/http/ngx_http_image_filter_module.html](http://nginx.org/en/docs/http/ngx_http_image_filter_module.html)
Lines changed: 200 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,200 @@
1+
# ngx_http_memcached_module
2+
3+
- [指令](#directives)
4+
- [memcached_bind](#memcached_bind)
5+
- [memcached_buffer_size](#memcached_buffer_size)
6+
- [memcached_connect_timeout](#memcached_connect_timeout)
7+
- [memcached_force_ranges](#memcached_force_ranges)
8+
- [memcached_gzip_flag](#memcached_gzip_flag)
9+
- [memcached_next_upstream](#memcached_next_upstream)
10+
- [memcached_next_upstream_timeout](#memcached_next_upstream_timeout)
11+
- [memcached_next_upstream_tries](#memcached_next_upstream_tries)
12+
- [memcached_pass](#memcached_pass)
13+
- [memcached_read_timeout](#memcached_read_timeout)
14+
- [memcached_send_timeout](#memcached_send_timeout)
15+
- [内嵌变量](#embedded_variables)
16+
17+
`ngx_http_memcached_module` 模块用于从 memcached 服务器上获取响应。key 设置在 `$memcached_key` 变量中。应通过 nginx 之外的方式提前将响应放入 memcached。
18+
19+
<a id="example_configuration"></a>
20+
21+
## 示例配置
22+
23+
```nginx
24+
server {
25+
location / {
26+
set $memcached_key "$uri?$args";
27+
memcached_pass host:11211;
28+
error_page 404 502 504 = @fallback;
29+
}
30+
31+
location @fallback {
32+
proxy_pass http://backend;
33+
}
34+
}
35+
```
36+
37+
<a id="directives"></a>
38+
39+
## 指令
40+
41+
### memcached_bind
42+
43+
|\-|说明|
44+
|------:|------|
45+
|**语法**|**memcached_bind** `address [transparent ]` &#124; `off`;|
46+
|**默认**|——|
47+
|**上下文**|http、server、location|
48+
|**提示**|该指令在 0.8.22 版本中出现|
49+
50+
通过可选端口(1.11.2)从指定的本地 IP 地址发出到memcached 服务器的传出连接。参数值可以包含变量(1.3.12)。特殊值 `off`(1.3.12)取消了从先前配置级别继承的 `memcached_bind` 指令的效果,这允许系统自动分配本地 IP 地址和端口。
51+
52+
`transparent` 参数(1.11.0)允许从非本地 IP 地址(例如,从客户端的真实 IP 地址)发出到 memcached 服务器的传出连接:
53+
54+
```nginx
55+
memcached_bind $remote_addr transparent;
56+
```
57+
58+
为了使这个参数起作用,通常需要以超级用户权限运行nginx工作进程。 在Linux上不需要(1.13.8),就好像指定了透明参数一样,工作进程继承了主进程中的CAP_NET_RAW功能。 还有必要配置内核路由表以拦截来自memcached服务器的网络流量。
59+
60+
### memcached_buffer_size
61+
62+
|\-|说明|
63+
|------:|------|
64+
|**语法**|**memcached_buffer_size** `size`;|
65+
|**默认**|memcached_buffer_size 4k&#124;8k|
66+
|**上下文**|http、server、location|
67+
68+
设置用于读取从memcached服务器接收到的响应的缓冲区的大小。 一旦收到响应,响应便会同步传递给客户端。
69+
70+
### memcached_connect_timeout
71+
72+
|\-|说明|
73+
|------:|------|
74+
|**语法**|**memcached_connect_timeout** `time`;|
75+
|**默认**|memcached_connect_timeout 60s|
76+
|**上下文**|http、server、location|
77+
78+
定义与memcached服务器建立连接的超时时间。 应该指出的是,这个超时通常不能超过75秒。
79+
80+
### memcached_force_ranges
81+
82+
|\-|说明|
83+
|------:|------|
84+
|**语法**|**memcached_force_ranges** `on` &#124; `off`;|
85+
|**默认**|memcached_force_ranges off;|
86+
|**上下文**|http、server、location|
87+
|**提示**|该指令在 1.7.7 版本中出现|
88+
89+
无论这些响应中的 **Accept-Ranges** 字段如何,都可以对来自 memcached 服务器的缓存和未缓存的响应启用 byte-range 支持。
90+
91+
### memcached_gzip_flag
92+
93+
|\-|说明|
94+
|------:|------|
95+
|**语法**|**memcached_gzip_flag** `flag`;|
96+
|**默认**|——|
97+
|**上下文**|http、server、location|
98+
|**提示**|该指令在 1.3.6 版本中出现|
99+
100+
启用对 memcached 服务器响应中的标志存在性的测试,并在标志设置时将 **Content-Encoding** 响应标头字段设置为 **gzip**
101+
102+
### memcached_next_upstream
103+
104+
|\-|说明|
105+
|------:|------|
106+
|**语法**|**memcached_next_upstream** `error` &#124; `timeout` &#124; `invalid_response` &#124; `not_found` &#124; `off ...`;|
107+
|**默认**|memcached_next_upstream error timeout;|
108+
|**上下文**|http、server、location|
109+
110+
指定在哪些情况下请求应传递给下一台服务器:
111+
112+
- `error`
113+
114+
在与服务器建立连接,传递请求或读取响应头时发生错误;
115+
116+
- `timeout`
117+
118+
在与服务器建立连接,传递请求或读取响应头时发生超时;
119+
120+
- `invalid_response`
121+
122+
服务器返回了空的或无效的响应;
123+
124+
- `invalid_response`
125+
126+
在服务器上未找到响应;
127+
128+
- `off`
129+
130+
禁用将请求传递给下一个服务器。
131+
132+
人们应该记住,只有在没有任何内容发送给客户端的情况下,才能将请求传递到下一台服务器。也就是说,如果在响应传输过程中发生错误或超时,修复这是不可能的。
133+
134+
该指令还定义了与服务器进行通信的[失败尝试](ngx_http_upstream_module.md#max_fails)。即使未在指令中指定,`error``timeout``invalid_response` 的情况始终被视为不成功尝试。`not_found` 的情况永远不会被视为不成功的尝试。
135+
136+
将请求传递给下一台服务器可能受到尝试次数和时间的限制。
137+
138+
### memcached_next_upstream_tries
139+
140+
|\-|说明|
141+
|------:|------|
142+
|**语法**|**memcached_next_upstream_tries** `number`;|
143+
|**默认**|memcached_next_upstream_tries 0;|
144+
|**上下文**|http、server、location|
145+
|**提示**|该指令在 1.7.5 版本中出现|
146+
147+
限制将请求传递到下一个服务器的可能尝试次数。`0` 值关闭此限制。
148+
149+
### memcached_pass
150+
151+
|\-|说明|
152+
|------:|------|
153+
|**语法**|**memcached_pass** `address`;|
154+
|**默认**|——|
155+
|**上下文**|http、location 中 if|
156+
157+
设置 memcached 服务器地址。该地址可以指定为域名或 IP 地址,以及端口:
158+
159+
```nginx
160+
memcached_pass localhost:11211;
161+
```
162+
163+
或者作为 UNIX 域套接字路径:
164+
165+
```nginx
166+
memcached_pass unix:/tmp/memcached.socket;
167+
```
168+
169+
如果域名解析为多个地址,则所有这些地址都将以循环方式使用。另外,地址可以被指定为服务器组。
170+
171+
### memcached_read_timeout
172+
173+
|\-|说明|
174+
|------:|------|
175+
|**语法**|**memcached_read_timeout** `time`;|
176+
|**默认**|memcached_read_timeout 60s;|
177+
|**上下文**|http、server、location|
178+
179+
定义从 memcached 服务器读取响应的超时。超时只在两次连续的读操作之间设置,而不是用于传输整个响应。 如果 memcached 服务器在此时间内没有传输任何内容,则连接将被关闭。
180+
181+
### memcached_send_timeout
182+
183+
|\-|说明|
184+
|------:|------|
185+
|**语法**|**memcached_send_timeout** `time`;|
186+
|**默认**|memcached_send_timeout 60s;|
187+
|**上下文**|http、server、location|
188+
189+
设置将请求传输到 memcached 服务器的超时时间。超时只在两次连续写入操作之间设置,而不是用于传输整个请求。如果 memcached 服务器在此时间内没有收到任何内容,则连接关闭。
190+
191+
<a id="embedded_variables"></a>
192+
193+
## 内嵌变量
194+
195+
- `$memcached_key`
196+
197+
定义从 memcached 服务器获取响应的密钥
198+
199+
## 原文档
200+
[http://nginx.org/en/docs/http/ngx_http_memcached_module.html](http://nginx.org/en/docs/http/ngx_http_memcached_module.html)

0 commit comments

Comments
 (0)