主页

索引

模块索引

搜索页面

主配置文件(带注释)

  1user www-data www-data;
  2worker_processes  8;    #工作进程,根据硬件调整,大于等于cpu核数
  3
  4error_log  /var/nginx/log/error.log;
  5pid        /var/nginx/run/nginx.pid;
  6
  7worker_rlimit_nofile 65535;     #指定进程可以打开的最大描述符.  这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致 
  8
  9
 10
 11events {
 12    use epoll;    #使用的网络IO模型. Linux系统椎荐采用epoll模型. FreeBSD系统推荐采用kqueue模型
 13
 14    worker_connections 65535;   # 工作进程的最大连接数量, 根据硬件调整, 和前面工作进程配合起来用, 尽量大, 但是别把cpu跑到100%就行, 每个进程允许的最多连接数, 理论上每台nginx服务器的最大连接数为worker_processes*worker_connections
 15
 16    keepalive_timeout 60;   # keepalive超时时间
 17
 18    client_header_buffer_size 4k;   # 客户端请求头部的缓冲区大小,这个可以根据你的系统分页大小来设置,一般一个请求头的大小不会超过1k,不过由于一般系统分页都要大于1k,所以这里设置为分页大小
 19    # 分页大小可以用命令getconf PAGESIZE 取得::
 20    #    [root@web001 ~]# getconf PAGESIZE
 21    #    4096
 22
 23    open_file_cache max=65535 inactive=60s; # 这个将为打开文件指定缓存,默认是没有启用的,max指定缓存数量,建议和打开文件数一致,inactive是指经过多长时间文件没被请求后删除缓存
 24
 25    open_file_cache_valid 80s;  # 指多长时间检查一次缓存的有效信息
 26
 27    open_file_cache_min_uses 1; # open_file_cache指令中的inactive参数时间内文件的最少使用次数, 如果超过这个数字, 文件描述符一直是在缓存中打开的, 如上例, 如果有一个文件在inactive时间内一次没被使用, 它将被移除
 28
 29}
 30
 31http {
 32    include       /etc/nginx/mime.types;    # 设定mime类型,类型由mime.type文件定义
 33    default_type application/octet-stream;
 34
 35    # -----日志操作-----------------------------------------------------------------------------
 36    log_format main '$host $status [$time_local] $remote_addr [$time_local] $request_uri '
 37            '"$http_referer" "$http_user_agent" "$http_x_forwarded_for" '
 38            '$bytes_sent $request_time $sent_http_x_cache_hit';
 39    log_format log404 '$status [$time_local] $remote_addr $host$request_uri $sent_http_location';
 40    # $remote_addr与$http_x_forwarded_for用以记录客户端的ip地址;
 41    # $remote_user:用来记录客户端用户名称;
 42    # $time_local: 用来记录访问时间与时区;
 43    # $request: 用来记录请求的url与http协议;
 44    # $status: 用来记录请求状态;成功是200,
 45    # $body_bytes_s ent :记录发送给客户端文件主体内容大小;
 46    # $http_referer:用来记录从那个页面链接访问过来的;
 47    # $http_user_agent:记录客户毒啊浏览器的相关信息;
 48    # 通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_add拿到的IP地址是反向代理服务器的iP地址
 49    # 反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址;
 50    # ----------------------------------------------------------------------------------
 51
 52    access_log /dev/null;
 53    access_log	/var/nginx/log/access.log main;
 54    # 写到syslog中,并指定syslog的ip/port
 55    access_log syslog:server=127.0.0.1:9000,facility=local7,tag=nginx,severity=info combined;
 56
 57
 58    server_names_hash_bucket_size 128;
 59    # 保存服务器名字的hash表是由指令server_names_hash_max_size 和server_names_hash_bucket_size所控制的
 60    # 参数hash bucket size总是等于hash表的大小, 并且是一路处理器缓存大小的倍数.在减少了在内存中的存取次数后, 使在处理器中加速查找hash表键值成为可能.
 61    # 如果hash bucket size等于一路处理器缓存的大小, 那么在查找键的时候, 最坏的情况下在内存中查找的次数为2
 62    # 第一次是确定存储单元的地址, 第二次是在存储单元中查找键值
 63    # 因此, 如果Nginx给出需要增大hash max size 或 hash bucket size的提示, 那么首要的是增大前一个参数的大小.
 64
 65    client_header_buffer_size 4k;
 66    # 客户端请求头部的缓冲区大小, 这个可以根据你的系统分页大小来设置, 一般一个请求的头部大小不会超过1k, 不过由于一般系统分页都要大于1k,所以这里设置为分页大小.分页大小可以用命令getconf PAGESIZE取得
 67
 68    large_client_header_buffers 8 128k;
 69    # 客户请求头缓冲大小
 70    # nginx默认会用client_header_buffer_size这个buffer来读取header值, 如果header过大, 它会使用large_client_header_buffers来读取
 71    # 如果设置过小, HTTP头/Cookie过大, 会报400错误--->nginx 400 bad request
 72    # 求行如果超过buffer, 就会报HTTP 414错误--->(URI Too Long)
 73    # nginx接受最长的HTTP头部大小必须比其中一个buffer大,否则就会报400的HTTP错误(Bad Request)。
 74
 75    open_file_cache max 102400
 76    # 使用字段:http, server, location
 77    # 这个指令指定缓存是否启用, 如果启用,将记录文件以下信息:
 78    # ·打开的文件描述符, 大小信息和修改时间. 
 79    # ·存在的目录信息.
 80    # ·在搜索文件过程中的错误信息
 81    # --没有这个文件,无法正确读取,参考open_file_cache_errors指令选项:
 82    # ·max -指定缓存的最大数目,如果缓存溢出,最长使用过的文件(LRU)将被移除
 83    # 例: 
 84    # open_file_cache max=1000 inactive=20s;
 85    # open_file_cache_valid 30s;
 86    # open_file_cache_min_uses 2;
 87    # open_file_cache_errors on;
 88
 89    open_file_cache_errors
 90    # 语法:open_file_cache_errors on | off 
 91    # 默认值:open_file_cache_errors off
 92    # 使用字段:http, server, location 这个指令指定是否在搜索一个文件是记录cache错误.
 93
 94    open_file_cache_min_uses
 95    # 语法:open_file_cache_min_uses <number>
 96    # 默认值:open_file_cache_min_uses 1
 97    # 使用字段:http, server, location
 98    # 这个指令指定了在open_file_cache指令无效的参数中一定的时间范围内可以使用的最小文件数
 99    # 如 果使用更大的值,文件描述符在cache中总是打开状态.
100
101    open_file_cache_valid
102    # 语法:open_file_cache_valid <time>
103    # 默认值:open_file_cache_valid 60 
104    # 使用字段:http, server, location
105    # 这个指令指定了何时需要检查open_file_cache中缓存项目的有效信息
106
107    client_max_body_size 300m;
108    # 设定通过nginx上传文件的大小
109
110    sendfile        on;
111    # sendfile指令指定nginx是否调用sendfile 函数(zero copy 方式)来输出文件
112    # 对于普通应用,必须设为on
113    # 如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度,降低系统uptime
114
115    tcp_nopush     on;
116    # 此选项允许或禁止使用socke的TCP_CORK的选项,此选项仅在使用sendfile的时候使用
117
118    proxy_connect_timeout 90; 
119    #后端服务器连接的超时时间_发起握手等候响应超时时间
120
121    proxy_read_timeout 180;
122    #连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间)
123
124    proxy_send_timeout 180;
125    #后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
126
127
128    # 当使用nginx做反向代理时, 如果设置太小会造成502错误
129    # upstream sent too big header while reading response header from upstream
130    proxy_buffer_size   256k;
131    #设置从被代理服务器读取的第一部分应答的缓冲区大小,通常情况下这部分应答中包含一个小的应答头,默认情况下这个值的大小为指令proxy_buffers中指定的一个缓冲区的大小,不过可以将其设置为更小
132
133    proxy_buffers   4 256k;
134    #设置用于读取应答(来自被代理服务器)的缓冲区数目和大小,默认情况也为分页大小,根据操作系统的不同可能是4k或者8k
135
136    proxy_busy_buffers_size   256k;
137
138    proxy_temp_file_write_size 256k;
139    #设置在写入proxy_temp_path时数据的大小,预防一个工作进程在传递文件时阻塞太长
140
141
142
143
144    # 当使用nginx做fastcgi时, 如果设置太小会造成502错误
145    # upstream sent too big header while reading response header from upstream
146    fastcgi_buffers 8 16k;
147    fastcgi_buffer_size 32k;
148
149    #keepalive_timeout  0;
150    keepalive_timeout  65;
151    tcp_nodelay        on;
152
153
154    #==============================================================
155    #=    压缩输出配置=
156    #==============================================================
157    gzip  on;
158    # 设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流
159    # 例: 4 4k    代表以4k为单位,按照原始数据大小以4k为单位的4倍申请内存
160    # 默认: gzip_buffers 4 4k/8k
161    gzip_buffers <number> <size>;
162    # gzip压缩比
163    # 1 压缩比最小处理速度最快; 9 压缩比最大但处理最慢(传输快但比较消耗cpu)
164    # 默认: gzip_comp_level 1
165    gzip_comp_level 1..9;
166    # 设置允许压缩的页面最小字节数,页面字节数从header头中的Content-Length中进行获取
167    # 默认值是0
168    # 建议设置成大于1k的字节数,小于1k可能会越压越大 即: gzip_min_length 1024
169    gzip_min_length 1k;
170    # 
171    # 实例: gzip_disable regex ...;
172    gzip_disable regex ...;
173
174
175    include /etc/nginx/sites-enabled/*;
176
177
178}
179
180# mail {
181#     # See sample authentication script at:
182#     # http://wiki.nginx.org/NginxImapAuthenticateWithApachePhpScript
183# 
184#     # auth_http localhost/auth.php;
185#     # pop3_capabilities "TOP" "USER";
186#     # imap_capabilities "IMAP4rev1" "UIDPLUS";
187# 
188#     server {
189#         listen     localhost:110;
190#         protocol   pop3;
191#         proxy      on;
192#     }
193# 
194#     server {
195#         listen     localhost:143;
196#         protocol   imap;
197#         proxy      on;
198#     }
199# }

主页

索引

模块索引

搜索页面