Nginx fastcgi配置

Nginx fastcgi配置讲解

CGI 全称是 “通用网关接口”(Common Gateway Interface), 它可以让一个客户端,从网页浏览器向执行在 Web 服务器上的程序请求数据。 CGI 描述了客户端和这个程序之间传输数据的一种标准。 CGI 的一个目的是要独立于任何语言的,所以 CGI 可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。 如 php,perl,tcl 等。

FastCGI 是 Web 服务器和处理程序之间通信的一种协议, 是 CGI 的一种改进方案,FastCGI 像是一个常驻(long-live)型的 CGI, 它可以一直执行,在请求到达时不会花费时间去 fork 一个进程来处理(这是CGI 最为人诟病的fork-and-execute 模式)。 正是因为他只是一个通信协议,它还支持分布式的运算,即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。

fastcgi_connect_timeout

语法

fastcgi_connect_timeout time;

默认值

fastcgi_connect_timeout 60s;

上下文

http, server, location

说明

定义用于与 FASCGI 服务器建立连接的超时。应该注意的是,这个超时时间通常不能超过 75 秒。

fastcgi_send_timeout

语法

fastcgi_send_timeout time;

默认值

fastcgi_send_timeout 60s;

上下文

http, server, location

说明

设置用于向 FASTCGI 服务器发送请求的超时时间。超时仅设置在两个连续写入操作之间,而不是用于整个请求的传输。如果 FASCGI 服务器在此时间内没有接收到任何信息,则关闭连接。

fastcgi_read_timeout

语法

fastcgi_read_timeout time;

默认值

fastcgi_read_timeout 60s;

上下文

http, server, location

说明

定义用于从 FASCGI 服务器读取响应的超时。超时仅设置在两个连续读取操作之间,而不是用于整个响应的传输。如果 FASCGI 服务器在此时间内不发送任何内容,则连接被关闭。

fastcgi_buffer_size

语法

fastcgi_buffer_size size;

默认值

fastcgi_buffer_size 4k|8k;

上下文

http, server, location

说明

设置用于读取从 FASCGI 服务器接收的响应的第一部分的缓冲区的大小。这部分通常包含一个小的响应头。默认情况下,缓冲区大小等于一个内存页。4K 或 8K,这取决于平台。然而,它也可以设置更小。

fastcgi_buffers

语法

fastcgi_buffers number size;

默认值

fastcgi_buffers 8 4k|8k;

上下文

http, server, location

说明

为单个连接设置用于从 FASCGI 服务器读取响应的缓冲区的数量和大小。默认情况下,缓冲区大小等于一个内存页。4K 或 8K,这取决于平台。

fastcgi_busy_buffers_size

语法

fastcgi_busy_buffers_size size;

默认值

fastcgi_busy_buffers_size 8k|16k;

上下文

http, server, location

说明

当启用对来自 FastCGI 服务器的响应的缓冲时,限制可能忙于向客户端发送响应而响应尚未完全读取的缓冲区的总大小。同时,剩余的缓冲区可用于读取响应,如果需要,还可以将响应的一部分缓冲到临时文件。

默认情况下,大小是由 fastcgi_buffer_size 和 fastcgi_buffers 指令所设置的两个缓冲区大小限制的。

fastcgi_temp_file_write_size

语法

fastcgi_temp_file_write_size size;

默认值

fastcgi_temp_file_write_size 8k|16k;

上下文

http, server, location

说明

在启用从 FastCGI 服务器到临时文件的响应缓冲时,限制一次写入临时文件的数据的大小。默认情况下,大小是由 fastcgi_buffer_size 和 fastcgi_buffers 指令设置的两个缓冲区限制的。

临时文件的最大大小由 fastcgi_max_temp_file_size 指令设置。

Nginx fastcgi配置总结

Nginx 的 fastcgi 模块是告诉 nginx 采用 fastcgi 压缩的形式发送数据。这将会减少我们发送的数据量。 fastcgi 压缩模块是 Nginx 是一个自带的模块但是默认状态是它未启用的。

fastcgi 压缩模块启用后可以对 WEB 服务器传输给客户端的图片,html,js 等数据进行压缩传输了,最高可以达到百分八十左右。该模块可以读取预先压缩的 gz 文件,这样可以减少每次请求进行 fastcgi 压缩的 CPU 资源消耗。