Nginx作为静态资源web服务_配置语法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/longgeqiaojie304/article/details/85041531

Nginx作为静态资源web服务_配置语法

1、配置语法-sendfile文件读取

(1)核心作用

        提高文件文件传输效率。

(2)sendfile语法

Syntax: sendfile on | off;
Default:
sendfile off;
Context: httpserverlocationif in location

语法解释:

Enables or disables the use of sendfile().

Starting from nginx 0.8.12 and FreeBSD 5.2.1, aio can be used to pre-load data for sendfile():

location /video/ {
    sendfile       on;
    tcp_nopush     on;
    aio            on;
}

In this configuration, sendfile() is called with the SF_NODISKIO flag which causes it not to block on disk I/O, but, instead, report back that the data are not in memory. nginx then initiates an asynchronous data load by reading one byte. On the first read, the FreeBSD kernel loads the first 128K bytes of a file into memory, although next reads will only load data in 16K chunks. This can be changed using theread_ahead directive.

Before version 1.7.11, pre-loading could be enabled with aio sendfile;.

2、配置语法-tcp_nopush

(1)核心作用

        sendfile开启的情况下,提高网络包的传输效率。

(2)tcp_nopush语法

Syntax:

tcp_nopush on | off;

Default:

tcp_nopush off;

Context:

http, server, location

语法解释:

Enables or disables the use of the TCP_NOPUSH socket option on FreeBSD or the TCP_CORK socket option on Linux. The options are enabled only when sendfile is used. Enabling the option allows

  • sending the response header and the beginning of a file in one packet, on Linux and FreeBSD 4.*;
  • sending a file in full packets.

3、配置语法-tcp_nodelay

(1)核心作用

        keepalive连接下,提高网络包的传输实时性。

(2)tcp_nodelay语法

Syntax:

tcp_nodelay on | off;

Default:

tcp_nodelay on;

Context:

http, server, location

语法解释:

Enables or disables the use of the TCP_NODELAY option. The option is enabled when a connection is transitioned into the keep-alive state. Additionally, it is enabled on SSL connections, for unbuffered proxying, and for WebSocket proxying.

4、配置语法-gzip压缩

(1)核心作用

       压缩传输,提高传输效率。

(2)gzip语法

Syntax:

gzip on | off;

Default:

gzip off;

Context:

http, server, location, if in location

语法解释:

Enables or disables gzipping of responses.

 

Syntax:

gzip_buffers number size;

Default:

gzip_buffers 32 4k|16 8k;

Context:

http, server, location

语法解释:

Sets the number and size of buffers used to compress a response. By default, the buffer size is equal to one memory page. This is either 4K or 8K, depending on a platform.

Until version 0.7.28, four 4K or 8K buffers were used by default.

 

Syntax:

gzip_comp_level level;

Default:

gzip_comp_level 1;

Context:

http, server, location

语法解释:

Sets a gzip compression level of a response. Acceptable values are in the range from 1 to 9.

 

Syntax:

gzip_disable regex ...;

Default:

Context:

http, server, location

This directive appeared in version 0.6.23.

语法解释:

Disables gzipping of responses for requests with “User-Agent” header fields matching any of the specified regular expressions.

The special mask “msie6” (0.7.12) corresponds to the regular expression “MSIE [4-6]\.”, but works faster. Starting from version 0.8.11, “MSIE 6.0; ... SV1” is excluded from this mask.

 

Syntax:

gzip_http_version 1.0 | 1.1;

Default:

gzip_http_version 1.1;

Context:

http, server, location

语法解释:

Sets the minimum HTTP version of a request required to compress a response.

 

Syntax:

gzip_min_length length;

Default:

gzip_min_length 20;

Context:

http, server, location

语法解释:

Sets the minimum length of a response that will be gzipped. The length is determined only from the “Content-Length” response header field.

 

 

Syntax:

gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any ...;

Default:

gzip_proxied off;

Context:

http, server, location

语法解释:

Enables or disables gzipping of responses for proxied requests depending on the request and response. The fact that the request is proxied is determined by the presence of the “Via” request header field. The directive accepts multiple parameters:

off

disables compression for all proxied requests, ignoring other parameters;

expired

enables compression if a response header includes the “Expires” field with a value that disables caching;

no-cache

enables compression if a response header includes the “Cache-Control” field with the “no-cache” parameter;

no-store

enables compression if a response header includes the “Cache-Control” field with the “no-store” parameter;

private

enables compression if a response header includes the “Cache-Control” field with the “private” parameter;

no_last_modified

enables compression if a response header does not include the “Last-Modified” field;

no_etag

enables compression if a response header does not include the “ETag” field;

auth

enables compression if a request header includes the “Authorization” field;

any

enables compression for all proxied requests.

 

Syntax:

gzip_types mime-type ...;

Default:

gzip_types text/html;

Context:

http, server, location

语法解释:

Enables gzipping of responses for the specified MIME types in addition to “text/html”. The special value “*” matches any MIME type (0.8.29). Responses with the “text/html” type are always compressed.

Syntax:

gzip_vary on | off;

Default:

gzip_vary off;

Context:

http, server, location

语法解释:

Enables or disables inserting the “Vary: Accept-Encoding” response header field if the directivesgzipgzip_static, or gunzip are active.

                                                            Embedded Variables

$gzip_ratio

achieved compression ratio, computed as the ratio between the original and compressed response sizes.

 

(3)gzip压缩传输图

        

      Nginx压缩的资源,浏览器自动解压缩。

5、配置语法-gzip_static

(1)核心作用

           传输预压缩静态文件给客户端(.gz文件为预压缩)

(2)gzip_static语法

Syntax:

gzip_static on | off | always;

Default:

gzip_static off;

Context:

http, server, location

语法解释:

Enables (“on”) or disables (“off”) checking the existence of precompressed files. The following directives are also taken into account: gzip_http_versiongzip_proxiedgzip_disable, and gzip_vary.

With the “always” value (1.3.6), gzipped file is used in all cases, without checking if the client supports it. It is useful if there are no uncompressed files on the disk anyway or the ngx_http_gunzip_module is used.

The files can be compressed using the gzip command, or any other compatible one. It is recommended that the modification date and time of original and compressed files be the same.

(3)gzip_static举例

    location ~ /download {

      gzip_static  on;

            gzip_proxied expired no-cache no-store private auth;

            root /opt;

    }

猜你喜欢

转载自blog.csdn.net/longgeqiaojie304/article/details/85041531
今日推荐