nginxÓÅ»¯ÔõôÉèÖÃ
ÒªÓÅ»¯ nginx ÐÔÄÜ£¬¿Éµ÷½âÒÔÏÂÒªº¦ÉèÖãºÉèÖà worker Àú³ÌÊý¡¢ÅþÁ¬ÊýºÍÎļþÐÎò·ûÏÞÖÆ¡£ÉèÖÃÊÂÎñ´¦Öóͷ£ÒªÁìΪ epoll »ò kqueue¡£µ÷½â»º³åÇø¾ÞϸºÍÊðÀí»º³åÇøÉèÖá£ÉèÖÃÅþÁ¬³Ø³¬Ê±Ê±¼äºÍ×î´óÇëÇóÊý¡£ÆôÓà gzip ѹËõºÍÖ¸¶¨ÒªÑ¹ËõµÄÎļþÀàÐÍ¡£ÆôÓà sendfile¡¢ÑÓ³ÙÊý¾Ý·¢ËͺͽûÓÃÑÓ³Ù·¢ËÍ¡£
NGINX ÓÅ»¯ÉèÖÃÖ¸ÄÏ
ΪÁËÓÅ»¯ NGINX ÐÔÄÜ£¬ÐèÒª¶ÔÒÔÏÂÒªº¦ÉèÖþÙÐе÷½â£º
1. Worker Àú³Ì
worker_processes: ÉèÖÃΪЧÀÍÆ÷ÎïÀí½¹µãÊý¡£ÀýÈ磬4 ºËЧÀÍÆ÷ÉèÖÃΪ worker_processes 4;
worker_connections: ÉèÖÃΪÖÁÉÙ 1024£¬ÒÔ´¦Öóͷ£´ó×Ú²¢·¢ÅþÁ¬¡£
2. ÊÂÎñ´¦Öóͷ£
worker_rlimit_nofile: ÔöÌíÎļþÐÎò·ûÏÞÖÆ£¬ÒÔÔÊÐíÿ¸ö worker Àú³Ì·¿ª¸ü¶àÅþÁ¬¡£½¨ÒéÉèÖÃΪ 10240 »ò¸ü¸ß¡£
events: ÉèÖÃÊÂÎñ´¦Öóͷ£ÒªÁì¡£¹ØÓÚ¸ßÁ÷Á¿Õ¾µã£¬½¨ÒéʹÓà epoll »ò kqueue£¨ÈôÊÇ¿ÉÓã©¡£
3. »º³åÇø
client_body_buffer_size: µ÷½â¿Í»§¶ËÇëÇ󻺳åÇø¾Þϸ£¬ÒÔ±ÜÃâ´óÐÍÇëÇóµ¼Ö 502 ¹ýʧ¡£½¨ÒéÉèÖÃΪ 4k-8k¡£
client_max_body_size: ÉèÖÃ×î´óÇëÇóÕýÎľÞϸ£¬ÒÔ±ÜÃâ¶ñÒâÇëÇó¡£½¨ÒéÉèÖÃΪ 1M-10M£¬Ïêϸȡ¾öÓÚÍøÕ¾ÐèÇó¡£
proxy_buffer_size: ÉèÖÃÊðÀí»º³åÇø¾Þϸ£¬ÒÔ´¦Öóͷ£´óÐÍÏìÓ¦¡£½¨ÒéÉèÖÃΪ 4k-8k¡£
proxy_buffers: ÉèÖÃÊðÀí»º³åÇøÊýÄ¿£¬ÒÔÌṩ¸ü¶à»º³å¿Õ¼ä¡£½¨ÒéÉèÖÃΪ 4-8¡£
proxy_buffering: ÆôÓÃÊðÀí»º³å£¬ÒÔÌá¸ßÍÌÍÂÁ¿¡£
4. ÅþÁ¬³Ø
keepalive_timeout: ÉèÖÃÅþÁ¬¼á³ÖÔ˶¯µÄʱ¼ä£¬ÒÔïÔÌƵÈÔµÄÎÕÊÖ¡£½¨ÒéÉèÖÃΪ 60-120 Ãë¡£
keepalive_requests: ÉèÖÃÿ¸öÅþÁ¬ÔÊÐíµÄ×î´óÇëÇóÊý£¬ÒÔ±ÜÃâÅþÁ¬±»ÀÄÓ᣽¨ÒéÉèÖÃΪ 100-1000¡£
5. ѹËõ
gzip: ÆôÓà GZIP ѹËõ£¬ÒÔïÔÌÏìÓ¦¾Þϸ¡£
gzip_min_length: ÉèÖà gzip ѹËõµÄ×îСÎļþ¾Þϸ£¬ÒÔ×èÖ¹¶ÔСÎļþ¾ÙÐв»ÐëÒªµÄѹËõ¡£½¨ÒéÉèÖÃΪ 1k-2k¡£
gzip_types: Ö¸¶¨ÒªÑ¹ËõµÄÎļþÀàÐÍ¡£
6. ÆäËûÉèÖÃ
sendfile: ÆôÓà sendfile£¬ÒÔʹÓøßЧµÄÄÚºËÎļþ´«Êä¡£
tcp_nopush: ÑÓ³ÙÊý¾Ý·¢ËÍ£¬ÒÔÌá¸ßÍÌÍÂÁ¿¡£
tcp_nodelay: ½ûÓÃÑÓ³Ù·¢ËÍ£¬ÒÔïÔÌÑÓ³Ù¡£
ͨ¹ýÓÅ»¯ÕâЩÉèÖ㬿ÉÒÔÏÔÖøÌá¸ß NGINX µÄÐÔÄÜ£¬´¦Öóͷ£¸ü¶àÇëÇó²¢ÎªÓû§Ìṩ¸üºÃµÄÌåÑé¡£
ÒÔÉϾÍÊÇnginxÓÅ»¯ÔõôÉèÖõÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡