河南高级会员
专心做事,诚信做人
posts - 14,  comments - 1,  trackbacks - 0
 1 # For more information on configuration, see:
 2 #   * Official English Documentation: http://nginx.org/en/docs/
 3 #   * Official Russian Documentation: http://nginx.org/ru/docs/
 4 
 5 user              nginx;
 6 worker_processes  1;#定义了nginx对外提供web服务时的worker进程数,最优值取决于许多因素,包括(但不限于)CPU核的数量、存储数据的硬盘数量及负载模式。不能确定的时候,将其设置为可用的CPU内核数将是一个好的开始(设置为“auto”将尝试自动检测它)。
 7 worker_rlimit_nofile:10000;#更改worker进程的最大打开文件数限制。如果没设置的话,这个值为操作系统的限制。设置后你的操作系统和Nginx可以处理比“ulimit -a”更多的文件,所以把这个值设高,这样nginx就不会有“too many open files”问题了。
 8 
 9 error_log  /var/log/nginx/error.log;
10 #error_log  /var/log/nginx/error.log  notice;
11 #error_log  /var/log/nginx/error.log  info;
12 
13 pid        /var/run/nginx.pid;
14 
15 #events模块中包含nginx中所有处理连接的设置。
16 events {
17     worker_connections  2048;#设置可由一个worker进程同时打开的最大连接数。
18     multi_accept on; #告诉nginx收到一个新连接通知后接受尽可能多的连接。
19     use epoll; #设置用于复用客户端线程的轮询方法。如果你使用Linux 2.6+,你应该使用epoll。如果你使用*BSD,你应该使用kqueue。(值得注意的是如果你不知道Nginx该使用哪种轮询方法的话,它会选择一个最适合你操作系统的)
20 }
21 
22 
23 http {
24     include       /etc/nginx/mime.types;
25     default_type  application/octet-stream;#设置文件使用的默认的MIME-type。
26     charset UTF-8; #设置我们的头文件中的默认的字符集
27 
28     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
29                       '$status $body_bytes_sent "$http_referer" '
30                       '"$http_user_agent" "$http_x_forwarded_for"';
31 
32     access_log  /var/log/nginx/access.log  main;
33 
34     server_tokens off;#关闭在错误页面中的nginx版本数字,这样对于安全性是有好。
35     sendfile        on;#sendfile()可以在磁盘和TCP socket之间互相拷贝数据(或任意两个文件描述符)。
36     tcp_nopush     on;#告诉nginx在一个数据包里发送所有头文件,而不一个接一个的发送。
37     #tcp_nodelay on;#设置nginx不缓存数据,而是一段一段的发送--当需要及时发送数据时,就应该给应用设置这个属性
38     keepalive_timeout  30;#客户端分配keep-alive链接超时时间,服务器将在这个超时时间过后关闭链接。我们将它设置低些。
39     
40     #设置请求头和请求体(各自)的超时时间。我们也可以把这个设置低些。
41     client_header_timeout 10; 
42     client_body_timeout 10; 
43     
44     reset_timedout_connection on; #nginx关闭不响应的客户端连接。(这将会释放那个客户端所占有的内存空间)
45     
46     send_timeout 10; #指定客户端的响应超时时间
47 
48     limit_conn_zone $binary_remote_addr zone=addr:5m; #设置用于保存各种key(比如当前连接数)的共享内存的参数。5m就是5兆字节,这个值应该被设置的足够大以存储(32K*5)32byte状态或者(16K*5)64byte状态。
49     limit_conn addr 100; #为给定的key设置最大连接数。
50     
51     client_max_body_size 20m;
52 
53     gzip  on;#gzip压缩的形式发送数据
54     gzip_min_length 1000; # 设置对数据启用压缩的最少字节数。
55     gzip_comp_level 4; #设置数据的压缩等级。
56     gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; #设置需要压缩的数据格式。
57    
58     open_file_cache max=100000 inactive=20s; # 打开缓存的同时也指定了缓存最大数目,以及缓存的时间。
59     open_file_cache_valid 30s;#在open_file_cache中指定检测正确信息的间隔时间。 
60     open_file_cache_min_uses 2; #定义了open_file_cache中指令参数不活动时间期间里最小的文件数。
61     open_file_cache_errors on; #指定了当搜索一个文件时是否缓存错误信息,也包括再次给配置中添加文件。
62     
63     # Load config files from the /etc/nginx/conf.d directory
64     # The default server is in conf.d/default.conf
65     include /etc/nginx/conf.d/*.conf;
66     include /etc/nginx/conf.d/vhosts/*conf;
67 
68 }

 

posted on 2015-03-26 14:52  河南高级会员  阅读(...)  评论(...编辑  收藏