关于nginx配置文件nginx.conf详解

2016-01-1221:52:31 1 843

user www www; #指定运行nginx进程的用户和组

worker_processes auto; #nginx开启的进程数
worker_cpu_affinity auto; #自动为每个进程绑定CPU
worker_rlimit_nofile 65536; #每个进程最大打开文件数

pid /var/run/nginx.pid; #进程文件
#error_log /data/logs/error/nginx_error.log info; #定义错误日志目录和级别(debug | info | notice | warn | error | crit)

events
{
use epoll; #允许单个线程处理多个客户端请求(linux内核2.6以后支持)
worker_connections 65536; #每个进程最大连接数
}

http
{
include mime.types; #文件扩展名与文件类型映射表
default_type application/octet-stream; #默认文件类型
charset utf-8; #默认编码

server_names_hash_bucket_size 128; #服务器名字的hash表大小
client_header_buffer_size 4k; #设置缓冲区大小
large_client_header_buffers 4 32k; #设置缓冲区最大限制
client_max_body_size 8m; #上传文件大小限制

open_file_cache max=65536 inactive=20s; #打开文件最大缓存数量,inactive指经过20s后文件没被请求后删除缓存
open_file_cache_valid 30s; #间隔30s检查一次缓存信息
open_file_cache_min_uses 1; #open_file_cache指令中的inactive参数时间内文件的最少使用次数,如果超过这个数字,文件描述符一直是在缓存中打开的

sendfile on; #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为on。
如进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
tcp_nopush on; #防止网络阻塞
keepalive_timeout 60; #长连接超时时间,单位s
tcp_nodelay on; #防止网络阻塞
server_tokens off; #隐藏版本号
port_in_redirect off; #302跳转时不添加端口号

fastcgi_connect_timeout 300; #指定连接到后端FastCGI的超时时间
fastcgi_send_timeout 300; #向FastCGI传送请求的超时时间,这个值是指已经完成两次握手后向FastCGI传送请求的超时时间
fastcgi_read_timeout 300; #接收FastCGI应答的超时时间,这个值是指已经完成两次握手后接收FastCGI应答的超时时间
fastcgi_buffer_size 64k;
#指定读取FastCGI应答第一部分需要用多大的缓冲区,这里可以设置为fastcgi_buffers指令指定的缓冲区大小,上面的指令指定它将使用1 个64k的缓冲区去读取应答的第一部分,即应答头,其实这个应答头一般情况下都很小(不会超过1k),但是你如果在fastcgi_buffers指令中 指定了缓冲区的大小,那么它也会分配一个fastcgi_buffers指定的缓冲区大小去缓存
fastcgi_buffers 4 64k;#指定本地需要用多少和多大的缓冲区来缓冲FastCGI的应答,即4个64k的缓冲区缓存,超过256k部分会缓存到fastcgi_temp指定的路径中
fastcgi_busy_buffers_size 128k; #高负荷下缓冲大小(fastcgi_buffers*2)
fastcgi_temp_file_write_size 128k;#在写入fastcgi_temp_path时将用多大的数据块,默认值是fastcgi_buffers的两倍

#open gzip
gzip on;#开启gzip压缩输出
gzip_vary on;
gzip_min_length 1k;#最小压缩文件大小
gzip_buffers 4 16k;#压缩缓冲区
gzip_http_version 1.0;#压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
gzip_comp_level 2;#压缩等级
gzip_types text/plain application/x-javascript text/css application/xml;
#压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn
gzip_disable "MSIE [1-6]\.(?!.*SV1)";#IE6前的版本不启用压缩

#Proxy
proxy_connect_timeout 600; #nginx跟后端服务器连接超时时间(代理连接超时)
proxy_read_timeout 600; #连接成功后,后端服务器响应时间(代理接收超时)
proxy_send_timeout 600; #后端服务器数据回传时间(代理发送超时)
proxy_buffer_size 16k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的设置
proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
proxy_temp_file_write_size 64k; #在写入proxy_temp_path时将用多大的数据块

#Limit
limit_req_zone $binary_remote_addr zone=xxx:10m rate=5r/s; #会话状态储存的空间10m,同一IP地址请求链接频率最多5次/秒
#Log format
#日志格式
log_format access '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';

include vhosts/*.conf;

}

评论已关闭!

目前评论:1   其中:访客  1   博主  0

    • 无名 0

      写得好