欢迎您,零度科技专业海外服务器租用
公司电话: 24小时电话: 

当前位置:首页>帮助教程>Linux 系统教程

目录导航

nginx配置文件讲解 超详细

发布于 2013-12-23  
Linux 系统教程

#使用的用户和组(可以只设置用户而已)
user www-data www-data;
#启动进程,通常设置成和cpu的数量相等(一般等于CPU的总核数或者总核数的两倍),每个进程耗费10MB-12MB内存
worker_processes 8;
#指定错误日志存放的路径,错误日志记录级别可选项为:[debug | info | noticd | warn | error | crit]
error_log  logs/error.log;
#指定错误日志级别
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#指定pid存放的路径,文件内记录当前nginx主进程的ID,kill -HUP 'logs/nginx.pid'

#pid        logs/nginx.pid;

#指定文件描述符数量
worker_rlimit_nofile 51200;

#工作模式及连接数上限

events {use epoll; #提高linux的io操作选项,Linux系统推荐采用epoll模型,FreeBSD系统推荐采用kequeue,linux下建议开启worker_connections51200; #允许最大连接数,即单个后台worker process进程的最大并发链接数}

#设定http服务器,利用它的反向代理功能提供负载均衡支持

http {#mimie.types 浏览器请求的文件媒体类型,类型由mime.type文件定义includemime.types;#用来告诉浏览器请求的文件媒体类型default_typeapplication/octet-stream;#设置使用的字符集,如果一个网站有多种字符集,请不要随便设置,应该让程序员在HTML代码中通过Meta标签设置#charset gb2312;#日志记录格式#log_formatmain'$remote_addr - $remote_user [$time_local] "$request" '#'$status $body_bytes_sent "$http_referer" '#'"$http_user_agent" "$http_x_forwarded_for"';#日志名称,和日志记录格式采用main#access_loglogs/access.logmain;#设定请求缓冲#保存服务器名字的hash表是由指令server_names_hash_max_size 和server_names_hash_bucket_size所控制的。参数hash bucket size总是等于hash表的大小,并且是一路处理器缓存大小的倍数。在减少了在内存中的存取次数后,使在处理器中加速查找hash表键值成为可能。如果 hash bucket size等于一路处理器缓存的大小,那么在查找键的时候,最坏的情况下在内存中查找的次数为2。第一次是确定存储单元的地址,第二次是在存储单元中查找键 值。因此,如果Nginx给出需要增大hash max size 或 hash bucket size的提示,那么首要的是增大前一个参数的大小.server_names_hash_bucket_size 128;#用于设置客户端请求的Header头缓冲区大小,大部分情况1KB大小足够。不能超过large_client_header_buffers缓冲区大小的设置client_header_buffer_size 32k;#该指令用于设置客户端请求的Header头缓冲区大小,默认值为4KB。large_client_header_buffers 4 32k;#设置客户端能够上传的文件大小,默认为1mclient_max_body_size 8m;#sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,#必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.sendfile on;#该指令允许或禁止使用FreeBSD上的TCP_NOPUSH,或者Linux上的TCP_CORK套接字选项。#tcp_nopush on;#连接超时时间#keepalive_timeout0该指令可以使客户端到服务器端的连接持续有效keepalive_timeout 60;#客户端到服务器端的连接持续有效时间为60#该指令允许或禁止使用套接字选项TCP_NODELAY,仅适用于keep-alive连接tcp_nodelay on;fastcgi_connect_timeout 300;fastcgi_send_timeout 300;#该指令用于设置upstream模块等待FastCGI进程发送数据的超时时间,默认值为60s;fastcgi_read_timeout 200;#设置FastCGI服务器相应头部的缓冲区#该指令设置FastCGI服务器相应头部的缓冲区大小。通常情况,该缓冲区大小设置等于fastcgi_buffers指令设置的一个缓冲区的大小。fastcgi_buffer_size 64k;#该指令设置了读取FastCGI进程返回信息的缓冲区数量和大小。fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_writer_size 128k;#开启gzip压缩#开启gzip压缩,对网页文件、css、js、xml等启动gzip压缩,减少数据传输量,提高访问速度。gzip on;#该指令允许压缩的页面最小字节数,页面字节数从header头中的Content-Length中进行获取。gzip_min_length 1k;#设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。下面的设置代表16k为单位,按照原始数据大小以16k为单位的4倍申请内存。gzip_buffers 4 16k;#识别http的协议版本。gzip_http_version 1.1;#gzip压缩比,1 压缩比最小处理速度最快,9 压缩比最大但处理速度最慢(传输快但比较消耗cpu)gzip_comp_level 2;#匹配mime类型进行压缩,无论是否指定,“text/html”类型总是会被压缩的。gzip_types text/plain application/x-javascript text/css application/xml;gzip_vary on;#该指令定义了一个数据区,其中记录会话状态信息。定义一个叫“crawler”的记录去,总容量为10MB,以变量$binary_remote_addr作为会话的判断基准(即一个地址一个会话)#limit_zone crawler $binary_remote_addr 10m;#允许客户端请求的最大单个文件字节数client_max_body_size 300m;#缓冲区代理缓冲用户端请求的最大字节数,可以理解为先保存到本地再传给用户如果把它设置为比较大的数值,例如256k,那么,无论使用firefox还是IE浏览器,来提交任意小于256k的图片,都很正常。如果注释该指令,使 用默认的client_body_buffer_size设置,也就是操作系统页面大小的两倍,8k或者16k,问题就出现了。无论使用firefox4.0还是IE8.0,提交一个比较大,200k左右的图片,都返回500 Internal Server Error错误client_body_buffer_size 128k;#跟后端服务器连接的超时时间_发起握手等候响应超时时间proxy_connect_timeout 600;#连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理proxy_read_timeout 600;#后端服务器数据回传时间_就是在规定时间内后端服务器必须传完所有的数据proxy_send_timeout 600;#代理请求缓存区_这个缓存区会保存用户的头信息以供Nginx进行规则处理_一般只要能保存下头信息即可proxy_buffers 16k;#同上 告诉Nginx保存单个用的几个Buffer最大用多大空间proxy_buffers 4 32k;#如果系统很忙的时候可以申请更大的proxy_buffers 官方推荐*2proxy_busy_buffers_size 64k;#proxy缓存临时文件的大小proxy_temp_file_write_size 64k;

零度科技原文链接:http://www.ldisp.com/a/linux/2013/2540.shtml

上一篇:linux(centos)用户与权限
下一篇:linux的mount(挂载)命令详解

 
了解零度?

零度科技主营全球服务器租用,如果您有服务器租用需求请联系

海外服务器租用

推荐香港、美国、韩国。提供站群服务器、高防服务器租用

海外特价服务器

关注零度特价服务器频道,了解全球特价服务器。

0

业务咨询

    技术服务

      特价活动
        全站搜索
        热门搜索:
        会员
        0通知
        客服
        0特价
        搜索
        TOP
        香港高防服务器,远程桌面,韩国服务器,nginx,反向代理