尊龙凯时人生就是搏

NginxЧÀÍÆ÷¼Ü¹¹Éè¼Æ¼°ÐÔÄÜÓÅ»¯Ïê½â

nginxЧÀÍÆ÷¼Ü¹¹Éè¼Æ¼°ÐÔÄÜÓÅ»¯Ïê½â

ͻ񻣼

NginxÊÇÒ»¸öÇáÁ¿¼¶¸ßÐÔÄܵÄWebЧÀÍÆ÷Èí¼þ £¬±»ÆÕ±éÓ¦ÓÃÓÚ´óÐÍÍøÕ¾ºÍ»¥ÁªÍøÓ¦ÓÃÖС£±¾ÎĽ«ÏÈÈÝNginxµÄЧÀÍÆ÷¼Ü¹¹Éè¼ÆÒÔ¼°ÐÔÄÜÓÅ»¯µÄÏêϸҪÁì £¬²¢¸½´ø´úÂëʾÀý¡£

ЧÀÍÆ÷¼Ü¹¹Éè¼Æ

Nginx½ÓÄɵÄÊǶàÀú³ÌºÍÒì²½ÊÂÎñÇý¶¯µÄ¼Ü¹¹ £¬¿ÉÒÔ³ä·ÖʹÓöàºËCPUµÄÓÅÊÆ £¬Ìá¸ßϵͳµÄ²¢·¢´¦ÀíÄÜÁ¦¡£ÆäÖ÷Òª·ÖΪMasterÀú³ÌºÍWorkerÀú³ÌÁ½¸öÌõÀí¡£

1.1 MasterÀú³Ì

MasterÀú³ÌÊÇNginxµÄÖ÷¿ØÀú³Ì £¬ÈÏÕæÖÎÀíËùÓÐWorkerÀú³Ì £¬²¢´¦ÀíHTTPÇëÇóµÄ·Ö·¢ºÍµ÷Àí¡£ÏêϸÀ´Ëµ £¬MasterÀú³ÌÖ÷ÒªÍê³ÉÒÔÏÂÊÂÇ飺

1£©¶ÁÈ¡Ï¢ÕùÎöÉèÖÃÎļþ £¬³õʼ»¯Ð§ÀÍÆ÷£»

2£©Æô¶¯WorkerÀú³Ì £¬²¢ÓëÖ÷Àú³Ì¾ÙÐÐͨѶ£»

3£©¼àÌýÍøÂçÊÂÎñ £¬ÎüÊÕÀ´×Ô¿Í»§¶ËµÄÅþÁ¬ÇëÇó£»

4£©·Ö·¢ÇëÇóµ½²î±ðµÄWorkerÀú³Ì¡£

1.2 WorkerÀú³Ì

WorkerÀú³ÌÊÇNginxµÄÊÂÇéÀú³Ì £¬ÈÏÕæ´¦ÀíÏêϸµÄHTTPÇëÇóºÍÏìÓ¦¡£Ã¿¸öWorkerÀú³Ì×ÔÁ¦ÔËÐÐ £¬Ï໥֮¼ä²»»á×ÌÈÅ¡£WorkerÀú³ÌµÄÖ÷ÒªÊÂÇé°üÀ¨£º

1£©ÎüÊÕMasterÀú³Ì·Ö·¢µÄÇëÇó£»

2£©´¦ÀíÇëÇó £¬°üÀ¨¶ÁÈ¡ÇëÇó±¨ÎÄ¡¢ÆÊÎöÇëÇóÍ·ºÍURLµÈ£»

3£©Å²ÓÃÏà¹ØÄ£¿é´¦ÀíÇëÇó £¬²¢ÌìÉúÏìÓ¦±¨ÎÄ£»

4£©½«ÏìÓ¦·¢Ë͸ø¿Í»§¶Ë¡£

ÐÔÄÜÓÅ»¯ÒªÁì

ΪÁ˽øÒ»²½Ìá¸ßNginxµÄÐÔÄÜ £¬ÎÒÃÇ¿ÉÒÔ´ÓÒÔϼ¸¸ö·½Ãæ¾ÙÐÐÓÅ»¯¡£

2.1 ÓÅ»¯NginxÉèÖÃ

NginxµÄÐÔÄÜÓÅ»¯´ÓÓÅ»¯ÉèÖÃÎļþ×îÏÈ¡£Ö÷ÒªÉæ¼°ÒÔϼ¸¸ö·½Ã棺

1£©worker_processes²ÎÊý£ºÉèÖÃWorkerÀú³ÌÊýÄ¿ £¬Æ¾Ö¤Ð§ÀÍÆ÷µÄCPU½¹µãÊýÀ´¾öÒ飻

2£©worker_connections²ÎÊý£ºÉèÖÃÿ¸öWorkerÀú³ÌµÄ×î´ó²¢·¢ÅþÁ¬Êý £¬Æ¾Ö¤Ð§ÀÍÆ÷µÄÓ²¼þ×ÊÔ´À´µ÷½â£»

3£©keepalive_timeout²ÎÊý£ºÉèÖó¤ÅþÁ¬µÄ³¬Ê±Ê±¼ä £¬ïÔÌ­TCPÅþÁ¬ÆµÈÔ½¨ÉèºÍ¹Ø±ÕµÄ¿ªÏú¡£

2.2 ʹÓûº´æ»úÖÆ

NginxÖ§³Ö½«¾²Ì¬Îļþ»º´æµ½ÄÚ´æÖÐ £¬ÒÔïÔÌ­´ÅÅÌIOµÄ¿ªÏú¡£Í¨¹ýÉèÖÃÈçϵÄCacheÖ¸Áî £¬¿ÉÒÔÆôÓûº´æ»úÖÆ£º

proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;

µÇ¼ºó¸´ÖÆ

2.3 ¸ºÔØƽºâ

NginxÄÚÖÃÁ˸ºÔØƽºâµÄ¹¦Ð§ £¬¿ÉÒÔͨ¹ýÉèÖÃupstreamÀ´ÊµÏÖ¸ºÔØƽºâ¡£ÏêϸµÄÉèÖÃÈçÏÂËùʾ£º

upstream backend {
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}

µÇ¼ºó¸´ÖÆ

2.4 ¿ªÆôGzipѹËõ

ʹÓÃGzipѹËõ¿ÉÒÔ¼õСÏìÓ¦±¨ÎĵÄÌå»ý £¬½ÚÔ¼ÍøÂç´ø¿í¡£Í¨¹ýÉèÖÃÈçϵÄGzipÖ¸Áî £¬¿ÉÒÔÆôÓÃGzipѹËõ£º

gzip on;
gzip_types text/plain text/css application/json;

µÇ¼ºó¸´ÖÆ

2.5 ÏÞÁ÷Óë±ÜÃâDDoS¹¥»÷

Nginx¿ÉÒÔͨ¹ýÉèÖÃlimit_connºÍlimit_reqÄ£¿éÀ´ÏÞÖÆ¿Í»§¶ËµÄ²¢·¢ÅþÁ¬ÊýºÍÇëÇóƵÂÊ £¬ÒÔ±ÜÃâ¶ñÒâÇëÇóÒý·¢µÄЧÀÍÆ÷¸ºÔعý¸ß¡£ÏêϸµÄÉèÖÃÈçÏÂËùʾ£º

limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 10;
limit_req_zone $binary_remote_addr zone=addr:10m rate=10r/s;
limit_req zone=addr burst=20;

µÇ¼ºó¸´ÖÆ

½áÂÛ£º

ͨ¹ýºÏÀíµÄЧÀÍÆ÷¼Ü¹¹Éè¼ÆºÍÐÔÄÜÓÅ»¯ÒªÁì £¬¿ÉÒÔ´ó´óÌá¸ßNginxµÄÐÔÄܺÍÎȹÌÐÔ £¬ÊµÏÖ¸üºÃµÄWebЧÀÍ¡£ÉÏÊöËùʾµÄ´úÂëʾÀý¼´¿É×÷ΪÏÖʵÏîÄ¿µÄ²Î¿¼ £¬×ÊÖú¿ª·¢Ö°Ô±¸üºÃµØÃ÷È·ºÍÓ¦ÓÃNginx¡£

²Î¿¼ÎÄÏ×£º

Nginx Documentation [Online]. Available: https://nginx.org/en/docs/

Richard Ou. (2015). Scaling Nginx: Load Balancing and Microcaching with Nginx [Online]. Available: https://www.nginx.com/blog/scaling-nginx-load-balancing-microcaching-nginx/

Nginx Performance [Online]. Available: https://www.nginx.com/blog/tuning-nginx/

ÒÔÉϾÍÊÇNginxЧÀÍÆ÷¼Ü¹¹Éè¼Æ¼°ÐÔÄÜÓÅ»¯Ïê½âµÄÏêϸÄÚÈÝ £¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí £¬°æȨÕùÒéÓë±¾Õ¾ÎÞ¹Ø £¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í尊龙凯时人生就是搏ÂËÓÍ»úÍø¹Ù·½Ì¬¶È £¬Çë¶ÁÕß½ö×ö²Î¿¼¡£±¾ÎĽӴýתÔØ £¬×ªÔØÇë˵Ã÷À´ÓÉ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢ £¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢ £¬ÇëÄúÁ¬Ã¦ÁªÏµ尊龙凯时人生就是搏ʵʱÐÞÕý»òɾ³ý¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ尊龙凯时人生就是搏

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎå £¬9:30-18:30 £¬½ÚãåÈÕÐÝÏ¢

QR code
sitemap¡¢ÍøÕ¾µØͼ