Nginx¸ºÔØƽºâÉèÖÃʵս£¬ÌáÉýÍøÕ¾¿ÉÓÃÐÔ
nginx¸ºÔØƽºâÉèÖÃʵս£¬ÌáÉýÍøÕ¾¿ÉÓÃÐÔ
ÕªÒª£ºNginxÊÇÒ»¿î¸ßÐÔÄܵÄWebЧÀÍÆ÷ºÍ·´ÏòÊðÀíЧÀÍÆ÷£¬Í¨¹ý¸ºÔØƽºâÉèÖÿÉÒÔ½«ÇëÇó·Ö·¢µ½¶à¸öºó¶ËЧÀÍÆ÷£¬ÌáÉýÁËÍøÕ¾µÄ¿ÉÓÃÐÔºÍÐÔÄÜ¡£±¾ÎĽ«ÏÈÈÝÔõÑùÉèÖÃNginxµÄ¸ºÔØƽºâ£¬ÒÔ¼°Ê¹ÓÃʾÀý´úÂë¡£
ʲôÊǸºÔØƽºâ£¿
¸ºÔØƽºâÊÇÒ»ÖÖ½«ÇëÇó·ÖÅɵ½¶à¸öЧÀÍÆ÷ÉϵÄÊÖÒÕ£¬Í¨¹ýÔȳƵطÖÅɸºÔØ£¬¿ÉÒÔÌá¸ßϵͳµÄÎȹÌÐÔºÍÐÔÄÜ¡£¸ºÔØƽºâ¿ÉÒÔÌáÉýÍøÕ¾µÄ¿ÉÓÃÐÔ£¬µ±Ä³¸öºó¶ËЧÀÍÆ÷±¬·¢¹ÊÕÏʱ£¬ÆäËûЧÀÍÆ÷ÈÔÈ»¿ÉÒÔÕý³£ÌṩЧÀÍ¡£
Nginx¸ºÔØƽºâÉèÖÃ
Nginx¿ÉÒÔͨ¹ýupstreamÄ£¿éÉèÖøºÔØƽºâ¡£ÎÒÃÇ¿ÉÒÔÔÚNginxµÄÉèÖÃÎļþ£¨Í¨³£ÊÇ/etc/nginx/nginx.conf£©ÖÐÌí¼ÓÈçÏÂÉèÖãº
http { upstream myapp { server backend1.example.com; server backend2.example.com; server backend3.example.com; } server { listen 80; location / { proxy_pass http://myapp; } } }
µÇ¼ºó¸´ÖÆ
ÔÚÉÏÊöÉèÖÃÖУ¬ÎÒÃǽç˵ÁËÒ»¸öÃûΪmyappµÄupstream¿é£¬°üÀ¨Á˶à¸öºó¶ËЧÀÍÆ÷µÄµØµã¡£ÔÚserver¿éÖУ¬ÎÒÃÇͨ¹ýproxy_passÖ¸ÁÇëÇóת·¢µ½myappÉÏ¡£
¸ºÔØƽºâÕ½ÂÔ
NginxÖ§³Ö¶àÖÖ¸ºÔØƽºâÕ½ÂÔ£¬ÀýÈçÂÖѯ£¨Ä¬ÈÏÕ½ÂÔ£©¡¢IP¹þÏ£¡¢×îÉÙÅþÁ¬µÈ¡£ÎÒÃÇ¿ÉÒÔͨ¹ýÔÚupstream¿éÖÐÌí¼ÓÏà¹ØµÄÖ¸ÁîÀ´ÉèÖÃÕ½ÂÔ¡£ÒÔÏÂÊǼ¸ÖÖ³£ÓõĸºÔØƽºâÕ½ÂÔʾÀý£º
ÂÖѯսÂÔ£º
upstream myapp { server backend1.example.com; server backend2.example.com; server backend3.example.com; }
µÇ¼ºó¸´ÖÆ
IP¹þÏ£Õ½ÂÔ£º
upstream myapp { ip_hash; server backend1.example.com; server backend2.example.com; server backend3.example.com; }
µÇ¼ºó¸´ÖÆ
×îÉÙÅþÁ¬Õ½ÂÔ£º
upstream myapp { least_conn; server backend1.example.com; server backend2.example.com; server backend3.example.com; }
µÇ¼ºó¸´ÖÆ
¸ºÔØƽºâʾÀý´úÂë
ΪÁ˸üºÃµØÃ÷È·Nginx¸ºÔØƽºâµÄÉèÖã¬ÏÂÃæ¸ø³öÒ»¸öÏÖʵʾÀý¡£¼ÙÉèÎÒÃÇÓÐÈý¸öºó¶ËЧÀÍÆ÷£¬ÓÃÓÚÌṩWebÓ¦ÓóÌÐòµÄЧÀÍ¡£ÎÒÃÇ¿ÉÒÔƾ֤ÒÔÏ°취¾ÙÐÐÉèÖãº
°ì·¨Ò»£ºÔÚÿ¸öºó¶ËЧÀÍÆ÷ÉÏ°²ÅÅWebÓ¦ÓóÌÐò£¬¼àÌý²î±ðµÄ¶Ë¿Ú¡£
°ì·¨¶þ£ºÔÚNginxЧÀÍÆ÷ÉÏÉèÖøºÔØƽºâ¡£
NginxÉèÖÃÎļþʾÀý£¨/etc/nginx/nginx.conf£©£º
http { upstream myapp { server backend1.example.com:8000; server backend2.example.com:8000; server backend3.example.com:8000; } server { listen 80; location / { proxy_pass http://myapp; } } }
µÇ¼ºó¸´ÖÆ
ÔÚÉÏÊöʾÀýÖУ¬ÎÒÃǼÙÉèÿ¸öºó¶ËЧÀÍÆ÷¶¼¼àÌý8000¶Ë¿Ú¡£Í¨¹ý½«ÇëÇóת·¢µ½myappÉÏ£¬Nginx»á×Ô¶¯Ñ¡ÔñÒ»¸öºó¶ËЧÀÍÆ÷À´´¦Öóͷ£ÇëÇó¡£
×ܽá
ͨ¹ýNginxµÄ¸ºÔØƽºâÉèÖã¬ÎÒÃÇ¿ÉÒÔ½«ÍøÕ¾µÄÇëÇóÔȳƵطַ¢µ½¶à¸öºó¶ËЧÀÍÆ÷ÉÏ£¬Ìá¸ßÍøÕ¾µÄ¿ÉÓÃÐÔºÍÐÔÄÜ¡£±¾ÎÄÏÈÈÝÁËNginx¸ºÔØƽºâµÄÉèÖÃÒªÁ죬²¢ÌṩÁËʾÀý´úÂ롣ϣÍû¶ÁÕßÄܹ»Í¨¹ýÕâƪÎÄÕÂÏàʶµ½ÔõÑùͨ¹ýNginxʵÏÖ¸ºÔØƽºâµÄÉèÖ㬲¢ÔÚÏÖʵӦÓÃÖÐÌáÉýÍøÕ¾µÄ¿ÉÓÃÐÔ¡£
ÒÔÉϾÍÊÇNginx¸ºÔØƽºâÉèÖÃʵս£¬ÌáÉýÍøÕ¾¿ÉÓÃÐÔµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡