CentOS´î½¨webЧÀÍÆ÷µÄ¸ºÔØƽºâ¼¼Çɼ°ÉèÖý¨Òé
CentOS´î½¨webЧÀÍÆ÷µÄ¸ºÔØƽºâ¼¼Çɼ°ÉèÖý¨Òé
ÕªÒª£ºÔڸ߲¢·¢µÄWebÓ¦ÓÃÖУ¬¸ºÔØƽºâÊÖÒÕÊÎÑÝ×ÅÖÁ¹ØÖ÷ÒªµÄ½ÇÉ«¡£±¾ÎĽ«ÏÈÈÝÔõÑùÔÚCentOSÏ´һ¸ö¸ß¿ÉÓÃÐԵĸºÔØƽºâ¼¯Èº£¬²¢ÌṩһЩÉèÖý¨æźʹúÂëʾÀý¡£
Ò»¡¢¸ºÔØƽºâÊÖÒÕ¼ò½é
¸ºÔØƽºâ£¨Load Balancing£©ÊÇÒ»ÖÖͨ¹ý½«ÊÂÇ鸺ÔØÂþÑܵ½¶à¸öЧÀÍÆ÷ÉÏÀ´Ìá¸ßϵͳÐÔÄܺͿÉÓÃÐÔµÄÊÖÒÕ¡£ËüÄÜÓÐÓõØ×èÖ¹µ¥¸öЧÀÍÆ÷¹ýÔØ£¬Ìá¸ßϵͳµÄÎȹÌÐԺͿɿ¿ÐÔ¡£
¶þ¡¢Ñ¡ÔñºÏÊʵĸºÔØƽºâËã·¨
¸ºÔØƽºâËã·¨¾öÒéÁËÔõÑù½«ÇëÇó·ÖÅɸøºó¶ËЧÀÍÆ÷¡£³£¼ûµÄËã·¨°üÀ¨ÂÖѯ£¨Round Robin£©¡¢×îÉÙÅþÁ¬£¨Least Connections£©ºÍÔ´µØµã¹þÏ££¨Source IP Hash£©µÈ¡£Æ¾Ö¤Ó¦ÓõÄÏÖʵÐèÇó£¬Ñ¡ÔñºÏÊʵÄËã·¨ºÜÊÇÖ÷Òª¡£
Èý¡¢×°ÖúÍÉèÖÃNginx¸ºÔØƽºâ
NginxÊÇÒ»¿î¸ßÐÔÄܵÄWebЧÀÍÆ÷ºÍ·´ÏòÊðÀíЧÀÍÆ÷£¬ÔÚCentOSϵͳÖÐʹÓÃÆձ顣ÒÔÏÂÊÇ×°ÖúÍÉèÖÃNginxµÄ°ì·¨£º
ʹÓÃÏÂÁîyum install nginx×°ÖÃNginx¡£
ÔÚNginxÉèÖÃÎļþ/etc/nginx/nginx.confÖУ¬Ìí¼ÓÒÔÏÂÄÚÈÝ£º
http { upstream backend { server backend1.example.com; server backend2.example.com; # Ìí¼Ó¸ü¶àºó¶ËЧÀÍÆ÷ } server { listen 80; server_name example.com; location / { proxy_pass http://backend; # ÆäËûÊðÀíÉèÖà } } }
µÇ¼ºó¸´ÖÆ
ʹÓÃÏÂÁîsystemctl start nginxÆô¶¯NginxЧÀÍ¡£
ËÄ¡¢Ê¹ÓÃHaproxyʵÏÖ¸ºÔØƽºâ
HaproxyÊÇÒ»¿î¹¦Ð§Ç¿Ê¢µÄ¸ºÔØƽºâÈí¼þ£¬¾ßÓиßÐÔÄܺ͸߿ɿ¿ÐÔ¡£ÒÔÏÂÊÇ×°ÖúÍÉèÖÃHaproxyµÄ°ì·¨£º
ʹÓÃÏÂÁîyum install haproxy×°ÖÃHaproxy¡£
ÔÚHaproxyÉèÖÃÎļþ/etc/haproxy/haproxy.cfgÖУ¬Ìí¼ÓÒÔÏÂÄÚÈÝ£º
global log /dev/log local0 log /dev/log local1 notice maxconn 4096 tune.ssl.default-dh-param 2048 defaults log global mode http option httplog option dontlognull retries 3 timeout http-request 10s timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m frontend http-in bind *:80 default_backend servers backend servers balance roundrobin server backend1 example1.com:80 check server backend2 example2.com:80 check # Ìí¼Ó¸ü¶àºó¶ËЧÀÍÆ÷
µÇ¼ºó¸´ÖÆ
ʹÓÃÏÂÁîsystemctl start haproxyÆô¶¯HaproxyЧÀÍ¡£
Îå¡¢³£¼ûÎÊÌâºÍµ÷ÓŽ¨Òé
×èÖ¹µ¥µã¹ÊÕÏ£ºÔÚ¸ºÔØƽºâ¼¯ÈºÖÐʹÓöà¸öNginx»òHaproxyʵÀý£¬²¢Í¨¹ýÊðÀíЧÀÍÆ÷»òDNSÆÊÎöʵÏָ߿ÉÓÃÐÔ¡£
ºÏÀíÉèÖúó¶ËЧÀÍÆ÷ȨÖØ£ºÆ¾Ö¤Ð§ÀÍÆ÷ÐÔÄܺ͸ºÔØÇéÐΣ¬µ÷½âºó¶ËЧÀÍÆ÷µÄȨÖØÖµ£¬ÒÔʵÏÖ¸üƽºâµÄ¸ºÔØ·ÖÅÉ¡£
ÐÄÌø¼ì²âºÍ¿µ½¡¼ì²é£ºÊ¹×¨ÐÄÌø¼ì²âºÍ¿µ½¡¼ì²é¹¦Ð§£¬ÊµÊ±·¢Ã÷ºÍÅŲé¹ÊÕÏЧÀÍÆ÷£¬Ìá¸ßϵͳµÄ¿ÉÓÃÐÔ¡£
ÈÕÖ¾ºÍ¼à¿Ø£º°´ÆÚÉó²éÈÕÖ¾ºÍ¼à¿ØÊý¾Ý£¬ÆÊÎöϵͳµÄ¸ºÔØÇéÐΡ¢ÐÔÄÜÆ¿¾±µÈ£¬ÊµÊ±¾ÙÐÐÓÅ»¯ºÍµ÷½â¡£
Áù¡¢×ܽá
±¾ÎÄÏÈÈÝÁËÔÚCentOSϵͳÏ´webЧÀÍÆ÷µÄ¸ºÔØƽºâ¼¼Çɼ°ÉèÖý¨Ò顣ͨ¹ýÑ¡ÔñºÏÊʵĸºÔØƽºâËã·¨£¬×°ÖúÍÉèÖÃNginx»òHaproxy£¬ÒÔ¼°ÓÅ»¯µ÷½âÏà¹Ø²ÎÊý£¬¿ÉÒÔʵÏÖÒ»¸ö¸ß¿ÉÓÃÐԺ͸ßÐÔÄܵĸºÔØƽºâ¼¯Èº¡£
×¢£ºÒÔÉÏ´úÂëʾÀý½ö¹©²Î¿¼£¬Çëƾ֤ÏÖÕæÏàÐξÙÐÐÐ޸ĺ͵÷½â¡£
ÒÔÉϾÍÊÇCentOS´î½¨webЧÀÍÆ÷µÄ¸ºÔØƽºâ¼¼Çɼ°ÉèÖý¨ÒéµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡