Nginx 프로필 nginx. conf 중국어 설명

39832 단어
  1 ######Nginx    nginx.conf    #####
  2 
  3 #  Nginx         
  4 user www www;
  5 
  6 #nginx   ,       CPU    。
  7 worker_processes 8;
  8  
  9 #          ,[ debug | info | notice | warn | error | crit ]
 10 error_log /usr/local/nginx/logs/error.log info;
 11 
 12 #  pid  
 13 pid /usr/local/nginx/logs/nginx.pid;
 14 
 15 # 16 #          
 17 #         nginx              ,             (ulimit -n) nginx     ,  nginx           ,     ulimit -n       。
 18 #   linux 2.6           65535,worker_rlimit_nofile       65535。
 19 #    nginx                  ,      10240,      3-4          10240 ,     502  。
 20 worker_rlimit_nofile 65535;
 21 
 22 
 23 events
 24 {
 25     #      ,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll  
 26     # Linux 2.6             I/O  ,linux  epoll,    FreeBSD  ,  kqueue  。
 27     #    :
 28     # apache  ,nginx         ,        
 29     #A)      
 30     #Select、poll        ,               ,nginx   select poll
 31     #B)      
 32     #Kqueue:   FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0   MacOS X.       MacOS X    kqueue         。
 33     #Epoll:   Linux  2.6        。
 34     #/dev/poll:   Solaris 7 11/99+,HP/UX 11.22+ (eventport),IRIX 6.5.15+   Tru64 UNIX 5.1A+。
 35     #Eventport:   Solaris 10。              ,          。
 36     use epoll;
 37 
 38     #         (     =   *   )
 39     #      ,            ,   ,    cpu  100%  。            ,     nginx          。
 40     worker_connections 65535;
 41 
 42     #keepalive    。
 43     keepalive_timeout 60;
 44 
 45     #             。                 ,              1k,              1k,           。
 46     #         getconf PAGESIZE   。
 47     #[root@web001 ~]# getconf PAGESIZE
 48     #4096
 49     #   client_header_buffer_size  4k   ,  client_header_buffer_size       “      ”    。
 50     client_header_buffer_size 4k;
 51 
 52     #            ,        ,max      ,          ,inactive                   。
 53     open_file_cache max=65535 inactive=60s;
 54 
 55     # 56     #  :open_file_cache_valid time    :open_file_cache_valid 60     :http, server, location              open_file_cache          .
 57     open_file_cache_valid 80s;
 58 
 59     #open_file_cache    inactive              ,        ,               ,   ,        inactive         ,     。
 60     #  :open_file_cache_min_uses number    :open_file_cache_min_uses 1     :http, server, location          open_file_cache                          ,        ,      cache       .
 61     open_file_cache_min_uses 1;
 62     
 63     #  :open_file_cache_errors on | off    :open_file_cache_errors off     :http, server, location                   cache  .
 64     open_file_cache_errors on;
 65 }
 66  
 67  
 68  
 69 #  http   ,                  
 70 http
 71 {
 72     #             
 73     include mime.types;
 74 
 75     #      
 76     default_type application/octet-stream;
 77 
 78     #    
 79     #charset utf-8;
 80 
 81     #      hash   
 82     #        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   ,                .
 83     server_names_hash_bucket_size 128;
 84 
 85     #             。                 ,               1k,              1k,           。         getconf PAGESIZE  。
 86     client_header_buffer_size 32k;
 87 
 88     #         。nginx    client_header_buffer_size  buffer   header ,  header  ,    large_client_header_buffers   。
 89     large_client_header_buffers 4 64k;
 90 
 91     #    nginx       
 92     client_max_body_size 8m;
 93 
 94     #          ,sendfile    nginx    sendfile       ,         on,             IO     ,    off,        I/O    ,       。  :              off。
 95     #sendfile     nginx     sendfile   (zero copy   )     ,      ,    on。             IO     ,    off,        IO    ,    uptime。
 96     sendfile on;
 97 
 98     #        ,       ,    。
 99     autoindex on;
100 
101     #          socke TCP_CORK   ,       sendfile     
102     tcp_nopush on;
103      
104     tcp_nodelay on;
105 
106     #
107     keepalive_timeout 120;
108 
109     #FastCGI              :      ,      。             。
110     fastcgi_connect_timeout 300;
111     fastcgi_send_timeout 300;
112     fastcgi_read_timeout 300;
113     fastcgi_buffer_size 64k;
114     fastcgi_buffers 4 64k;
115     fastcgi_busy_buffers_size 128k;
116     fastcgi_temp_file_write_size 128k;
117 
118     #gzip    
119     gzip on; #  gzip    
120     gzip_min_length 1k;    #        
121     gzip_buffers 4 16k;    #     
122     gzip_http_version 1.0;    #    (  1.1,     squid2.5   1.0)
123     gzip_comp_level 2;    #    
124     gzip_types text/plain application/x-javascript text/css application/xml;    #    ,       textml,          ,         ,      warn。
125     gzip_vary on;
126 
127     #    IP          
128     #limit_zone crawler $binary_remote_addr 10m;
129 
130 
131 
132     #      
133     upstream jh.w3cschool.cn {
134      
135         #upstream     ,weight   ,            。weigth      ,             。
136         server 192.168.80.121:80 weight=3;
137         server 192.168.80.122:80 weight=2;
138         server 192.168.80.123:80 weight=3;
139 
140         #nginx upstream    4      
141         #1、  (  )
142         #                      ,       down ,     。
143         #2、weight
144         #      ,weight        ,              。
145         #  :
146         #upstream bakend {
147         #    server 192.168.0.14 weight=10;
148         #    server 192.168.0.15 weight=10;
149         #}
150         #2、ip_hash
151         #       ip hash    ,                 ,    session   。
152         #  :
153         #upstream bakend {
154         #    ip_hash;
155         #    server 192.168.0.14:88;
156         #    server 192.168.0.15:80;
157         #}
158         #3、fair(   )
159         #                ,          。
160         #upstream backend {
161         #    server server1;
162         #    server server2;
163         #    fair;
164         #}
165         #4、url_hash(   )
166         #   url hash       ,   url           ,             。
167         # : upstream   hash  ,server       weight      ,hash_method    hash  
168         #upstream backend {
169         #    server squid1:3128;
170         #    server squid2:3128;
171         #    hash $request_uri;
172         #    hash_method crc32;
173         #}
174 
175         #tips:
176         #upstream bakend{#         Ip     }{
177         #    ip_hash;
178         #    server 127.0.0.1:9090 down;
179         #    server 127.0.0.1:8080 weight=2;
180         #    server 127.0.0.1:6060;
181         #    server 127.0.0.1:7070 backup;
182         #}
183         #          server    proxy_pass http://bakend/;
184 
185         #          :
186         #1.down     server       
187         #2.weight weight  ,        。
188         #3.max_fails:            1.        ,  proxy_next_upstream       
189         #4.fail_timeout:max_fails    ,     。
190         #5.backup:       backup  down      ,  backup  。           。
191 
192         #nginx             ,      server   。
193         #client_body_in_file_only   On    client post              debug
194         #client_body_temp_path                3   
195         #location URL    .                    
196     }
197      
198      
199      
200     #       
201     server
202     {
203         #    
204         listen 80;
205 
206         #
207         server_name www.w3cschool.cn w3cschool.cn;
208         index index.html index.htm index.php;
209         root /data/www/w3cschool;
210 
211         # ******      
212         location ~ .*.(php|php5)?$
213         {
214             fastcgi_pass 127.0.0.1:9000;
215             fastcgi_index index.php;
216             include fastcgi.conf;
217         }
218          
219         #        
220         location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
221         {
222             expires 10d;
223         }
224          
225         #JS CSS      
226         location ~ .*.(js|css)?$
227         {
228             expires 1h;
229         }
230          
231         #      
232         #$remote_addr $http_x_forwarded_for        ip  ;
233         #$remote_user:           ;
234         #$time_local:            ;
235         #$request:        url http  ;
236         #$status:         ;   200,
237         #$body_bytes_sent :                ;
238         #$http_referer:                ;
239         #$http_user_agent:            ;
240         #  web            ,           IP   ,  $remote_add   IP           iP  。             http    ,    x_forwarded_for  ,          IP                 。
241         log_format access '$remote_addr - $remote_user [$time_local] "$request" '
242         '$status $body_bytes_sent "$http_referer" '
243         '"$http_user_agent" $http_x_forwarded_for';
244          
245         #            
246         access_log  /usr/local/nginx/logs/host.access.log  main;
247         access_log  /usr/local/nginx/logs/host.access.404.log  log404;
248          
249         #  "/"       
250         location / {
251             proxy_pass http://127.0.0.1:88;
252             proxy_redirect off;
253             proxy_set_header X-Real-IP $remote_addr;
254              
255             #   Web       X-Forwarded-For      IP
256             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
257              
258             #            ,  。
259             proxy_set_header Host $host;
260 
261             #                
262             client_max_body_size 10m;
263 
264             #265             #             ,  256k,  ,    firefox  IE   ,       256k   ,    。       ,     client_body_buffer_size  ,              ,8k  16k,      。
266             #    firefox4.0  IE8.0,       ,200k     ,   500 Internal Server Error  
267             client_body_buffer_size 128k;
268 
269             #   nginx  HTTP     400       。
270             proxy_intercept_errors on;
271 
272             #            _            
273             #nginx            (      )
274             proxy_connect_timeout 90;
275 
276             #           (      )
277             #           _                       
278             proxy_send_timeout 90;
279 
280             #     ,         (      )
281             #     _           _                 (                 )
282             proxy_read_timeout 90;
283 
284             #       (nginx)             
285             #                        ,                    ,              proxy_buffers            ,           
286             proxy_buffer_size 4k;
287 
288             #proxy_buffers   ,     32k     
289             #        (        )         ,          ,            4k  8k
290             proxy_buffers 4 32k;
291 
292             #        (proxy_buffers*2)
293             proxy_busy_buffers_size 64k;
294 
295             #     proxy_temp_path      ,                  
296             #         ,     ,  upstream    
297             proxy_temp_file_write_size 64k;
298         }
299          
300          
301         #    Nginx     
302         location /NginxStatus {
303             stub_status on;
304             access_log on;
305             auth_basic "NginxStatus";
306             auth_basic_user_file confpasswd;
307             #htpasswd        apache   htpasswd     。
308         }
309          
310         #            
311         #  jsp      tomcat resin  
312         location ~ .(jsp|jspx|do)?$ {
313             proxy_set_header Host $host;
314             proxy_set_header X-Real-IP $remote_addr;
315             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
316             proxy_pass http://127.0.0.1:8080;
317         }
318          
319         #       nginx       tomcat resin
320         location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|
321         pdf|xls|mp3|wma)$
322         {
323             expires 15d; 
324         }
325          
326         location ~ .*.(js|css)?$
327         {
328             expires 1h;
329         }
330     }
331 }
332 ######Nginx    nginx.conf    #####

원본 주소:
https://www.w3cschool.cn/nginx/nginx-d1aw28wa.html

좋은 웹페이지 즐겨찾기