αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ HAProxy load balancer αž“αŸ…αž›αžΎ CentOS

αž€αžΆαžšαž”αž€αž”αŸ’αžšαŸ‚αž’αžαŸ’αžαž”αž‘αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ€αž”αž…αŸ†αž“αŸ…αž˜αž»αž“αžαŸ’αž„αŸƒαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž“αŸƒαžœαž‚αŸ’αž‚αžŸαž·αž€αŸ’αžŸαžΆ "αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž›αžΈαž“αž»αž…αŸ” αž“αž·αž˜αŸ’αž˜αž·αžαžšαžΌαž” αž“αž·αž„αž€αžΆαžšαžŠαžΆαž€αŸ‹αž‡αžΆαž€αŸ’αžšαž»αž˜"

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ HAProxy load balancer αž“αŸ…αž›αžΎ CentOS

Load Balancing αž‚αžΊαž‡αžΆαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‘αžΌαž‘αŸ…αž˜αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸαž αž‘αŸ†αž–αŸαžšαžŠαŸ„αž™αž•αŸ’αžŠαŸαž€αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž‡αžΆαž…αŸ’αžšαžΎαž“ αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αžΌαžœαž…αŸ†αžŽαž»αž…αžαŸ‚αž˜αž½αž™αž“αŸƒαž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž“αŸαŸ‡αŸ” HAProxy αž‚αžΊαž‡αžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαž»αž›αŸ’αž™αž—αžΆαž–αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αžŠαŸαž–αŸαž‰αž“αž·αž™αž˜αž”αŸ†αž•αž»αžαž˜αž½αž™αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž—αžΆαž–αž’αžΆαž…αžšαž€αž”αžΆαž“αžαŸ’αž–αžŸαŸ‹ αž“αž·αž„αž˜αž»αžαž„αžΆαžšαž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαž•αž„αžŠαŸ‚αžšαŸ”

HAProxy αžαž·αžαžαŸ†αž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αž’αžΆαž“ αž”αž„αŸ’αž€αžΎαž“αž‘αž·αž“αŸ’αž“αž•αž› αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž–αŸαž›αžœαŸαž›αžΆαž†αŸ’αž›αžΎαž™αžαž” αž“αž·αž„αž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž›αžΎαžŸαž…αŸ†αžŽαž»αŸ‡αž“αŸƒαž’αž“αž’αžΆαž“αž“αžΈαž˜αž½αž™αŸ—αŸ” αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αž“αŸ…αž›αžΎαž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αž›αžΈαž“αž»αž…αž‡αžΆαž…αŸ’αžšαžΎαž“αž”αŸ’αžšαž—αŸαž‘αžŠαžΌαž…αž‡αžΆ CentOS 8 αžŠαŸ‚αž›αž™αžΎαž„αž“αžΉαž„αž•αŸ’αžαŸ„αžαž›αžΎαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž“αŸαŸ‡ αž€αŸαžŠαžΌαž…αž‡αžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αž„αžŠαŸ‚αžšαŸ” Debian 8 ΠΈ Ubuntu 16.

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ HAProxy load balancer αž“αŸ…αž›αžΎ CentOS

HAProxy αž‡αžΆαž–αž·αžŸαŸαžŸαž‚αžΊαžŸαž˜αžšαž˜αŸ’αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸαž αž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αž˜αžΆαž“αž…αžšαžΆαž…αžšαžŽαŸαžαŸ’αž–αžŸαŸ‹ αž αžΎαž™αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‡αžΆαž‰αžΉαž€αž‰αžΆαž”αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ‚αž›αž˜αŸ’αž’αž—αžΆαž–αž‡αžΏαž‡αžΆαž€αŸ‹ αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž”αžŽαŸ’αžαžΆαž‰αž–αž αž»αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαŸ” αž˜αž‚αŸ’αž‚αž»αž‘αŸ’αž‘αŸαžŸαž€αŸαž“αŸαŸ‡αž”αž„αŸ’αž αžΆαž‰αž’αŸ†αž–αžΈαž‡αŸ†αž αžΆαž“αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ HAProxy αž‡αžΆαž§αž”αž€αžšαžŽαŸαž•αŸ’αž‘αž»αž€αžαž»αž›αŸ’αž™αž—αžΆαž–αž“αŸ…αž›αžΎ CentOS 8 cloud host αžŠαŸ‚αž›αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž”αž‰αŸ’αž‡αžΌαž“αž…αžšαžΆαž…αžšαž‘αŸ…αž€αžΆαž“αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‚αŸαž αž‘αŸ†αž–αŸαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

αž‡αžΆαžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž‡αžΆαž˜αž»αž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αž‘αŸ’αž’αž•αž›αž›αŸ’αž’αž”αŸ†αž•αž»αž αž’αŸ’αž“αž€αž‚αž½αžšαžαŸ‚αž˜αžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‚αŸαž αž‘αŸ†αž–αŸαžšαž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αž–αžΈαžš αž“αž·αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž•αŸ’αž‘αž»αž€αžαž»αž›αŸ’αž™αž—αžΆαž–αŸ” αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‚αŸαž αž‘αŸ†αž–αŸαžšαžαŸ’αžšαžΌαžœαžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž‚αŸαž αž‘αŸ†αž–αŸαžšαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŠαžΌαž…αž‡αžΆ nginx ឬ httpd αžŠαžΎαž˜αŸ’αž”αžΈαžŸαžΆαž€αž›αŸ’αž”αž„αžαž»αž›αŸ’αž™αž—αžΆαž–αž•αŸ’αž‘αž»αž€αžšαžœαžΆαž„αž–αž½αž€αžœαžΆαŸ”

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ HAProxy αž“αŸ…αž›αžΎ CentOS 8

αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚ HAProxy αž‚αžΊαž‡αžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αžŠαŸ‚αž›αžœαž·αžœαžαŸ’αžαž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸ αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αžŠαŸ‚αž›αž˜αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„ CentOS αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž’αžΆαž…αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž€αŸ†αžŽαŸ‚αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž”αž„αŸ’αž’αžŸαŸ‹αž“αŸ„αŸ‡αž‘αŸαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹αž–αžΈαž€αŸ†αžŽαŸ‚αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ αžŸαžΌαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

sudo yum info haproxy

HAProxy αžαŸ‚αž„αžαŸ‚αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αŸ†αžŽαŸ‚αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžαŸαžšαž—αžΆαž–αž…αŸ†αž“αž½αž“αž”αžΈαžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž–αžΈαŸ– αž€αŸ†αžŽαŸ‚αžŠαŸ‚αž›αž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαž…αž»αž„αž€αŸ’αžšαŸ„αž™αž”αŸ†αž•αž»αžαž…αŸ†αž“αž½αž“αž–αžΈαžš αž“αž·αž„αž€αŸ†αžŽαŸ‚αž‘αžΈαž”αžΈαžŠαŸ‚αž›αž…αžΆαžŸαŸ‹αž‡αžΆαž„αž“αŸαŸ‡αžŠαŸ‚αž›αž“αŸ…αžαŸ‚αž‘αž‘αž½αž›αž”αžΆαž“αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžŸαŸ†αžαžΆαž“αŸ‹αŸ—αŸ” αž’αŸ’αž“αž€αžαŸ‚αž„αžαŸ‚αž’αžΆαž…αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αŸ†αžŽαŸ‚αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžαŸαžšαž—αžΆαž–αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž”αŸ†αž•αž»αžαžŠαŸ‚αž›αž”αžΆαž“αžšαžΆαž™αž”αž‰αŸ’αž‡αžΈαž“αŸ…αž›αžΎαž‚αŸαž αž‘αŸ†αž–αŸαžš HAProxy αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžαžΆαžαžΎαž€αŸ†αžŽαŸ‚αžŽαžΆαž˜αž½αž™αžŠαŸ‚αž›αž’αŸ’αž“αž€αž…αž„αŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž“αŸαŸ‡ αž™αžΎαž„αž“αžΉαž„αžŠαŸ†αž‘αžΎαž„αž€αŸ†αžŽαŸ‚αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž”αŸ†αž•αž»αžαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžαŸαžšαž—αžΆαž– 2.0 αžŠαŸ‚αž›αž˜αž·αž“αž‘αžΆαž“αŸ‹αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αžŸαŸ’αžŠαž„αŸ‹αžŠαžΆαžšαž“αŸ…αž–αŸαž›αžŸαžšαžŸαŸαžšαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αŸ” αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαžŠαŸ†αž‘αžΎαž„αžœαžΆαž–αžΈαž”αŸ’αžšαž—αž–αžŠαžΎαž˜αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‡αžΆαžŠαŸ†αž”αžΌαž„ αžŸαžΌαž˜αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαžΆαžαžΎαž’αŸ’αž“αž€αž”αžΆαž“αž”αŸ†αž–αŸαž‰αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž‘αžΆαž‰αž™αž€ αž“αž·αž„αž…αž„αž€αŸ’αžšαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αžšαž¬αž‘αŸαŸ”

sudo yum install gcc pcre-devel tar make -y

αž‘αžΆαž‰αž™αž€αž€αžΌαžŠαž”αŸ’αžšαž—αž–αžŠαŸ„αž™αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαžΆαžαžΎαž˜αžΆαž“αž€αŸ†αžŽαŸ‚αžαŸ’αž˜αžΈαž‡αžΆαž„αž“αŸαŸ‡αžŠαŸ‚αžšαž¬αž‘αŸ αž‘αŸ†αž–αŸαžšαž‘αžΆαž‰αž™αž€ HAProxy.

wget http://www.haproxy.org/download/2.0/src/haproxy-2.0.7.tar.gz -O ~/haproxy.tar.gz

αž“αŸ…αž–αŸαž›αž€αžΆαžšαž‘αžΆαž‰αž™αž€αž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹ αžŸαžΌαž˜αž‘αžΆαž‰αž™αž€αž―αž€αžŸαžΆαžšαžŠαŸ„αž™αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

tar xzvf ~/haproxy.tar.gz -C ~/

αž‘αŸ…αž€αžΆαž“αŸ‹αžαžαž”αŸ’αžšαž—αž–αžŠαŸ‚αž›αž˜αž·αž“αž”αžΆαž“αžœαŸαž…αžαŸ’αž…αž”αŸ‹αŸ–

cd ~/haproxy-2.0.7

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž…αž„αž€αŸ’αžšαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ–

make TARGET=linux-glibc

αž αžΎαž™αž…αž»αž„αž€αŸ’αžšαŸ„αž™ αžŠαŸ†αž‘αžΎαž„ HAProxy αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αŸ–

sudo make install

αž₯αž‘αžΌαžœαž“αŸαŸ‡ HAProxy αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαžαž˜αŸ’αžšαžΌαžœαž±αŸ’αž™αž˜αžΆαž“αž§αž”αžΆαž™αž€αž›αž”αž“αŸ’αžαŸ‚αž˜αž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αž…αžΌαžšαž”αž“αŸ’αžαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž“αž·αž„αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ”

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ HAProxy αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

αž₯αž‘αžΌαžœαž”αž“αŸ’αžαŸ‚αž˜αžαžαž―αž€αžŸαžΆαžš αž“αž·αž„αžŸαŸ’αžαž·αžαž·αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αžΆαžαž» HAProxyαŸ–

sudo mkdir -p /etc/haproxy
sudo mkdir -p /var/lib/haproxy 
sudo touch /var/lib/haproxy/stats

αž”αž„αŸ’αž€αžΎαžαžαŸ†αžŽαž“αž·αž˜αž·αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‚αŸ„αž›αž–αžΈαžš αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ HAProxy αž‡αžΆαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž˜αŸ’αž˜αžαžΆαŸ–

sudo ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž”αž“αŸ’αžαŸ‚αž˜αž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαž‘αŸ…αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‡αžΆαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ αž…αž˜αŸ’αž›αž„αž―αž€αžŸαžΆαžš haproxy.init αž–αžΈαž§αž‘αžΆαž αžšαžŽαŸαž‘αŸ…αžαž /etc/init.d αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž―αž€αžŸαžΆαžš αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžŸαŸ’αž‚αŸ’αžšαžΈαž”αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αžŠαŸαž˜αž·αž“ systemd αž‘αžΎαž„αžœαž·αž‰αŸ–

sudo cp ~/haproxy-2.0.7/examples/haproxy.init /etc/init.d/haproxy
sudo chmod 755 /etc/init.d/haproxy
sudo systemctl daemon-reload

αž’αŸ’αž“αž€αž€αŸαžαŸ’αžšαžΌαžœαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αžΎαž„αžœαž·αž‰αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αŸ…αž–αŸαž›αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ–

sudo chkconfig haproxy on

αžŠαžΎαž˜αŸ’αž”αžΈαž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž› αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž±αŸ’αž™αž”αž“αŸ’αžαŸ‚αž˜αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžαŸ’αž˜αžΈαžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš HAProxyαŸ–

sudo useradd -r haproxy

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž›αŸαžαž€αŸ†αžŽαŸ‚αžŠαŸ‚αž›αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αž˜αŸ’αžαž„αž‘αŸ€αžαžŠαŸ„αž™αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

haproxy -v
HA-Proxy version 2.0.7 2019/09/27 - https://haproxy.org/

αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„ αž€αŸ†αžŽαŸ‚αž‚αž½αžšαžαŸ‚αž‡αžΆ 2.0.7 αžŠαžΌαž…αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž›αž‘αŸ’αž’αž•αž›αž§αž‘αžΆαž αžšαžŽαŸαžαžΆαž„αž›αžΎαŸ”

αž‘αžΈαž”αŸ†αž•αž»αž αž‡αž‰αŸ’αž‡αžΆαŸ†αž„αž—αŸ’αž›αžΎαž„αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž“αŸ…αž€αŸ’αž“αž»αž„ CentOS 8 αž‚αžΊαžšαžΉαžαžαŸ’αž”αž·αžαžαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αŸ” αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αž‰αŸ’αž‰αžΆαžαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžš αž“αž·αž„αž€αŸ†αžŽαžαŸ‹αž‡αž‰αŸ’αž‡αžΆαŸ†αž„αž—αŸ’αž›αžΎαž„αž‘αžΎαž„αžœαž·αž‰αŸ–

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-port=8181/tcp
sudo firewall-cmd --reload

αž•αŸ’αž‘αž»αž€αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αžαž»αž›αŸ’αž™αž—αžΆαž–

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ HAProxy αž‚αžΊαž‡αžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸαžŸαžΆαž˜αž‰αŸ’αž‰αž˜αž½αž™αŸ” αžŸαŸ†αžαžΆαž“αŸ‹ αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž‚αžΊαž”αŸ’αžšαžΆαž”αŸ‹ HAProxy αž“αžΌαžœαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ‚αž›αžœαžΆαž‚αž½αžšαžαŸ‚αžŸαŸ’αžαžΆαž”αŸ‹ αž“αž·αž„αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžœαžΆαž‚αž½αžšαž”αž‰αŸ’αž‡αžΌαž“αž–αž½αž€αž‚αŸαŸ”

αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαžŠαŸ„αž™αž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ /etc/haproxy/haproxy.cfg αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž’αžΆαž“αž’αŸ†αž–αžΈαž‡αž˜αŸ’αžšαžΎαžŸαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ HAProxy αž“αŸ…αž›αžΎαž‘αŸ†αž–αŸαžšαž―αž€αžŸαžΆαžšαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αžŠαžΉαž„αž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈαžœαžΆαŸ”

αž•αŸ’αž‘αž»αž€αžαž»αž›αŸ’αž™αž—αžΆαž–αž“αŸ…αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αžŠαžΉαž€αž‡αž‰αŸ’αž‡αžΌαž“ (αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž‘αžΈ 4)

αž…αžΌαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ” αž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαŸ’αž˜αžΈ αž§αž‘αžΆαž αžšαžŽαŸαžŠαŸ„αž™αž”αŸ’αžšαžΎ vi αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

sudo vi /etc/haproxy/haproxy.cfg

αž”αž“αŸ’αžαŸ‚αž˜αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž‘αŸ…αž―αž€αžŸαžΆαžšαŸ” αž‡αŸ†αž“αž½αžŸ server_name αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž‚αž½αžšαž αŸ…αž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αŸ…αž›αžΎαž‘αŸ†αž–αŸαžšαžŸαŸ’αžαž·αžαž· αž“αž·αž„ Private_ip - αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αž―αž€αž‡αž“αžšαž”αžŸαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ‚αž›αž’αŸ’αž“αž€αž…αž„αŸ‹αžŠαžΉαž€αž“αžΆαŸ†αž…αžšαžΆαž…αžšαžŽαŸαž‚αŸαž αž‘αŸ†αž–αŸαžšαŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αž―αž€αž‡αž“ αž“αŸ…αž›αžΎαž•αŸ’αž‘αžΆαŸ†αž„αž”αž‰αŸ’αž‡αžΆ UpCloud αž“αž·αž„αž“αŸ…αž›αžΎαž•αŸ’αž‘αžΆαŸ†αž„ αž”αžŽαŸ’αžαžΆαž‰αž―αž€αž‡αž“ αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžΊαž“αž»αž™ αž”αžŽαŸ’αžαžΆαž‰.

global
   log /dev/log local0
   log /dev/log local1 notice
   chroot /var/lib/haproxy
   stats timeout 30s
   user haproxy
   group haproxy
   daemon

defaults
   log global
   mode http
   option httplog
   option dontlognull
   timeout connect 5000
   timeout client 50000
   timeout server 50000

frontend http_front
   bind *:80
   stats uri /haproxy?stats
   default_backend http_back

backend http_back
   balance roundrobin
   server server_name1 private_ip1:80 check
   server server_name2 private_ip2:80 check

αž“αŸαŸ‡αž€αŸ†αžŽαžαŸ‹αžαž»αž›αŸ’αž™αž—αžΆαž–αž•αŸ’αž‘αž»αž€αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αžŠαžΉαž€αž‡αž‰αŸ’αž‡αžΌαž“ (αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž‘αžΈ 4) αžαžΆαž„αž€αŸ’αžšαŸ…αžŠαŸ‚αž›αž˜αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡αžαžΆ http_front αžŸαŸ’αžαžΆαž”αŸ‹αž“αŸ…αž›αžΎαž…αŸ’αžšαž€ 80 αžŠαŸ‚αž›αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž”αž‰αŸ’αž‡αžΌαž“αž…αžšαžΆαž…αžšαž‘αŸ…αž€αžΆαž“αŸ‹αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αžŠαŸ‚αž›αž˜αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡αžαžΆ http_back αŸ” αžŸαŸ’αžαž·αžαž·αž”αž“αŸ’αžαŸ‚αž˜ /haproxy?stats αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ†αž–αŸαžšαžŸαŸ’αžαž·αžαž·αž‘αŸ…αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αŸ”

αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžαž»αž›αŸ’αž™αž—αžΆαž–αž”αž“αŸ’αž‘αž»αž€αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαŸ”

αž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€ backend αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™ HAProxy αž”αŸ’αžšαžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‘αžΆαŸ†αž„αž“αŸαŸ‡αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž‘αž»αž€αžαž»αž›αŸ’αž™αž—αžΆαž–αžŠαŸ„αž™αž™αŸ„αž„αžαžΆαž˜αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‡αž»αŸ†αžœαž·αž›αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αŸ”

αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžαž»αž›αŸ’αž™αž—αžΆαž–αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αžαžΆαžαžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŽαžΆαž˜αž½αž™αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™αž“αŸƒαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž“αžΈαž˜αž½αž™αŸ—αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αž‘αŸ…αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž‡αž˜αŸ’αžšαžΎαžŸαžŠαŸαž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ–

  • RoundrobinαŸ– αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αžΈαž˜αž½αž™αŸ—αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‡αžΆαžœαŸαž“αž‘αŸ…αžαžΆαž˜αž‘αž˜αŸ’αž„αž“αŸ‹αžšαž”αžŸαŸ‹αžœαžΆαŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŠαŸ‚αž›αžšαž›αžΌαž“ αž“αž·αž„αž™αž»αžαŸ’αžαž·αž’αž˜αŸŒαž”αŸ†αž•αž»αž αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž–αŸαž›αžœαŸαž›αžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αŸ…αžαŸ‚αž…αŸ‚αž€αž…αžΆαž™αžŸαŸ’αž˜αžΎαŸ—αž‚αŸ’αž“αžΆαŸ” αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž“αŸαŸ‡αž‚αžΊαžαžΆαž˜αžœαž“αŸ’αžαžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž‘αž˜αŸ’αž„αž“αŸ‹αžšαž”αžŸαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαž—αŸ’αž›αžΆαž˜αŸ—αŸ”
  • αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αžαž·αž…αž”αŸ†αž•αž»αžαŸ– αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžαž·αž…αž”αŸ†αž•αž»αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαŸ” Round robin αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžšαžœαžΆαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ‚αž›αž˜αžΆαž“αž”αž“αŸ’αž‘αž»αž€αžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ” αž€αžΆαžšαž”αŸ’αžšαžΎαž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαž‚αŸ’αž‚αžœαŸ‚αž„αžŠαžΌαž…αž‡αžΆ LDAP, SQL, TSE αž‡αžΆαžŠαžΎαž˜ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž˜αž·αž“αžŸαŸαž€αŸ’αžαž·αžŸαž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαž‚αŸ’αž‚αžαŸ’αž›αžΈαŸ—αžŠαžΌαž…αž‡αžΆ HTTP αž‘αŸαŸ”
  • αž‘αžΈαž˜αž½αž™: αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ†αž”αžΌαž„αžŠαŸ‚αž›αž˜αžΆαž“αžšαž“αŸ’αž’αžαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž‘αž‘αž½αž›αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αŸ” αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž–αžΈαž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž›αŸαžαž‘αžΆαž”αž”αŸ†αž•αž»αžαž‘αŸ…αžαŸ’αž–αžŸαŸ‹αž”αŸ†αž•αž»αž αžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž‘αŸ…αž‘αžΈαžαžΆαŸ†αž„αžšαž”αžŸαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžŸαž·αžŠαŸ’αž‹αžΆαž“αŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžˆαžΆαž“αžŠαž›αŸ‹ maxconn αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž”αž“αŸ’αž‘αžΆαž”αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαŸ”
  • αž”αŸ’αžšαž—αž–: αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αž”αŸ’αžšαž—αž–αžαŸ’αžšαžΌαžœαž”αžΆαž“αž αžΆαž”αŸ‹ αž“αž·αž„αž”αŸ‚αž„αž…αŸ‚αž€αžŠαŸ„αž™αž‘αž˜αŸ’αž„αž“αŸ‹αžŸαžšαž»αž”αž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αžαžΆαžαžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŽαžΆαž˜αž½αž™αž“αžΉαž„αž‘αž‘αž½αž›αž”αžΆαž“αžŸαŸ†αžŽαžΎαŸ” αžœαž·αž’αžΈαž“αŸαŸ‡ αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αžšαž”αžŸαŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœαžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αžΉαž„αžαŸ‚αž„αžαŸ‚αž‘αŸ…αž€αžΆαž“αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαžΌαž…αž‚αŸ’αž“αžΆ αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αŸ…αžαŸ‚αžŠαžŠαŸ‚αž›αŸ”

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αžαž»αž›αŸ’αž™αž—αžΆαž–αž”αž“αŸ’αž‘αž»αž€αž“αŸ…αž€αž˜αŸ’αžšαž·αžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ (αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž‘αžΈ 7)

αž‡αž˜αŸ’αžšαžΎαžŸαžŠαŸ‚αž›αž˜αžΆαž“αž˜αž½αž™αž‘αŸ€αžαž‚αžΊαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž•αŸ’αž‘αž»αž€αžαž»αž›αŸ’αž™αž—αžΆαž–αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ (αžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž‘αžΈ 7) αžŠαŸ‚αž›αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž•αŸ’αž“αŸ‚αž€αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸαž αž‘αŸ†αž–αŸαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž˜αžΆαž“αž‘αžΈαžαžΆαŸ†αž„αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαŸ” αž“αŸαŸ‡αž’αžΆαž…αžŸαž˜αŸ’αžšαŸαž…αž”αžΆαž“αžŠαŸ„αž™αž€αžΆαžšαž”αž·αž‘αž€αžΆαžšαž”αž‰αŸ’αž‡αžΌαž“αž“αŸƒαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹ αž§αž‘αžΆαž αžšαžŽαŸαžŠαŸ„αž™ URL αŸ”

αž”αžΎαž€αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ HAProxy αžŠαŸ„αž™αž”αŸ’αžšαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αž·αž–αž“αŸ’αž’αž’αžαŸ’αžαž”αž‘αŸ–

sudo vi /etc/haproxy/haproxy.cfg

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž˜αž»αž αž“αž·αž„αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™ αžŠαžΌαž…αž§αž‘αžΆαž αžšαžŽαŸαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

frontend http_front
   bind *:80
   stats uri /haproxy?stats
   acl url_blog path_beg /blog
   use_backend blog_back if url_blog
   default_backend http_back

backend http_back
   balance roundrobin
   server server_name1 private_ip1:80 check
   server server_name2 private_ip2:80 check

backend blog_back
   server server_name3 private_ip3:80 check

αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž˜αž»αžαž”αŸ’αžšαž€αžΆαžŸαž…αŸ’αž”αžΆαž”αŸ‹ ACL αžŠαŸ‚αž›αž αŸ…αžαžΆ url_blog αžŠαŸ‚αž›αž’αž“αž»αžœαžαŸ’αžαž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž•αŸ’αž›αžΌαžœαžŠαŸ‚αž›αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ„αž™ /blog αŸ” Use_backend αž”αž‰αŸ’αž‡αžΆαž€αŸ‹β€‹αžαžΆβ€‹αž€αžΆαžšβ€‹αžαž—αŸ’αž‡αžΆαž”αŸ‹β€‹αžŠαŸ‚αž›β€‹αžαŸ’αžšαžΌαžœβ€‹αž‚αŸ’αž“αžΆβ€‹αž“αžΉαž„β€‹αž›αž€αŸ’αžαžαžŽαŸ’αžŒ url_blog αž‚αž½αžšβ€‹αžαŸ‚β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αž˜αŸ’αžšαžΎβ€‹αžŠαŸ„αž™ backend αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αžˆαŸ’αž˜αŸ„αŸ‡ blog_back αž αžΎαž™β€‹αžŸαŸ†αžŽαžΎβ€‹αž•αŸ’αžŸαŸαž„β€‹αž‘αŸ€αžβ€‹αž‘αžΆαŸ†αž„β€‹αž’αžŸαŸ‹β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž…αžΆαžαŸ‹β€‹αž…αŸ‚αž„β€‹αžŠαŸ„αž™ backend αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αŸ”

αž“αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™ αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αŸ†αžŽαžαŸ‹αž€αŸ’αžšαž»αž˜αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž–αžΈαžšαŸ– http_back αžŠαžΌαž…αž–αžΈαž˜αž»αž“ αž“αž·αž„αžαŸ’αž˜αžΈαž˜αž½αž™αž αŸ…αžαžΆ blog_back αžŠαŸ‚αž›αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ… example.com/blog αŸ”

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž―αž€αžŸαžΆαžš αž αžΎαž™αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ HAProxy αž‘αžΎαž„αžœαž·αž‰αžŠαŸ„αž™αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

sudo systemctl restart haproxy

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž‘αž‘αž½αž›αž”αžΆαž“αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“ αž¬αžŸαžΆαžšαž€αŸ†αž αž»αžŸαž’αŸ†αž‘αž»αž„αž–αŸαž›αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ αžŸαžΌαž˜αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αž½αž€αžœαžΆ αž αžΎαž™αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž€αžŠαžαžΆαž’αŸ’αž“αž€αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžš αž“αž·αž„αžαžαž―αž€αžŸαžΆαžšαž…αžΆαŸ†αž”αžΆαž…αŸ‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž–αŸ’αž™αžΆαž™αžΆαž˜αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‘αžΎαž„αžœαž·αž‰αž˜αŸ’αžαž„αž‘αŸ€αžαŸ”

αžŸαžΆαž€αž›αŸ’αž”αž„αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž› HAProxy αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αžŸαžΌαž˜αž”αžΎαž€αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αžŸαžΆαž’αžΆαžšαžŽαŸˆαž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž•αŸ’αž‘αž»αž€αžαž»αž›αŸ’αž™αž—αžΆαž–αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€ αž αžΎαž™αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαžΆαžαžΎαž’αŸ’αž“αž€αž”αžΆαž“αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαžŠαŸ‚αžšαž¬αž‘αŸαŸ” αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš uri αžŸαŸ’αžαž·αžαž·αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž”αž„αŸ’αž€αžΎαžαž‘αŸ†αž–αŸαžšαžŸαŸ’αžαž·αžαž·αž“αŸ…αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αŸ”

http://load_balancer_public_ip/haproxy?stats

αž“αŸ…αž–αŸαž›αž’αŸ’αž“αž€αž•αŸ’αž‘αž»αž€αž‘αŸ†αž–αŸαžšαžŸαŸ’αžαž·αžαž· αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž”αž„αŸ’αž αžΆαž‰αž–αžŽαŸŒαž”αŸƒαžαž„ αž“αŸ„αŸ‡αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž”αžΆαž“αž‡αŸ„αž‚αž‡αŸαž™!

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ HAProxy load balancer αž“αŸ…αž›αžΎ CentOS

αž‘αŸ†αž–αŸαžšαžŸαŸ’αžαž·αžαž·αž˜αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž˜αž½αž™αž…αŸ†αž“αž½αž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžαžΆαž˜αžŠαžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž”αžŽαŸ’αžαžΆαž‰αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αžšαž½αž˜αž‘αžΆαŸ†αž„αž–αŸαž›αžœαŸαž›αžΆαž‘αžΎαž„/αž…αž»αŸ‡ αž“αž·αž„αž…αŸ†αž“αž½αž“αžœαž‚αŸ’αž‚αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž–αžŽαŸŒαž€αŸ’αžšαž αž˜ αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž€αžŠαžαžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€ αž αžΎαž™αž’αŸ’αž“αž€αž’αžΆαž… ping αžœαžΆαž–αžΈαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžαž»αž›αŸ’αž™αž—αžΆαž–αž”αž“αŸ’αž‘αž»αž€αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αŸ’αž‘αž»αž€αž”αž“αŸ’αž‘αž»αž€αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž˜αž·αž“αž†αŸ’αž›αžΎαž™αžαž” αžŸαžΌαž˜αž”αŸ’αžšαžΆαž€αžŠαžαžΆαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹ HTTP αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαžΆαžšαžΆαŸ†αž„αžŠαŸ„αž™αž‡αž‰αŸ’αž‡αžΆαŸ†αž„αž—αŸ’αž›αžΎαž„αŸ” αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž€αžŠαžαžΆ HAProxy αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

sudo systemctl status haproxy

αž€αžΆαžšαž€αžΆαžšαž–αžΆαžšαž‘αŸ†αž–αŸαžšαžŸαŸ’αžαž·αžαž·αžŠαŸ„αž™αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹

αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‘αŸ†αž–αŸαžšαžŸαŸ’αžαž·αžαž·αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αž»αŸ‡αž”αž‰αŸ’αž‡αžΈαž™αŸ‰αžΆαž„αžŸαžΆαž˜αž‰αŸ’αž‰αž“αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž˜αž»αž αž“αŸ„αŸ‡αžœαžΆαž”αžΎαž€αž…αŸ†αž αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž“αž»αžŸαŸ’αžŸαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αž“αžΆαžŠαžΎαž˜αŸ’αž”αžΈαž˜αžΎαž› αžŠαŸ‚αž›αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž‚αŸ†αž“αž·αžαž›αŸ’αž’αž“αŸ„αŸ‡αž‘αŸαŸ” αž‡αŸ†αž“αž½αžŸαž˜αž€αžœαž·αž‰ αž’αŸ’αž“αž€αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αž›αŸαžαž…αŸ’αžšαž€αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžŠαŸ„αž™αž”αž“αŸ’αžαŸ‚αž˜αž§αž‘αžΆαž αžšαžŽαŸαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž‘αŸ…αž…αž»αž„αž”αž‰αŸ’αž…αž”αŸ‹αž“αŸƒαž―αž€αžŸαžΆαžš haproxy.cfg αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αž‡αŸ†αž“αž½αžŸ username ΠΈ αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΈαž˜αž½αž™αžŠαŸ‚αž›αž˜αžΆαž“αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αŸ–

listen stats
   bind *:8181
   stats enable
   stats uri /
   stats realm Haproxy Statistics
   stats auth username:password

αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž–αžΈβ€‹αž”αž“αŸ’αžαŸ‚αž˜β€‹αž€αŸ’αžšαž»αž˜β€‹αž’αŸ’αž“αž€β€‹αžŸαŸ’αžαžΆαž”αŸ‹β€‹αžαŸ’αž˜αžΈβ€‹αž αžΎαž™ αžŸαžΌαž˜β€‹αžŠαž€β€‹αžαŸ†αžŽ uri αžŸαŸ’αžαž·αžαž·β€‹αž…αžΆαžŸαŸ‹β€‹αž…αŸαž‰β€‹αž–αžΈβ€‹αž€αŸ’αžšαž»αž˜ frontendαŸ” αž“αŸ…αž–αŸαž›αž”αž‰αŸ’αž…αž”αŸ‹ αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž―αž€αžŸαžΆαžš αž αžΎαž™αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜ HAProxy αž‘αžΎαž„αžœαž·αž‰αŸ”

sudo systemctl restart haproxy

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž”αžΎαž€ Load Balancer αž˜αŸ’αžαž„αž‘αŸ€αžαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž›αŸαžαž…αŸ’αžšαž€αžαŸ’αž˜αžΈ αž αžΎαž™αž…αžΌαž›αžŠαŸ„αž™αž”αŸ’αžšαžΎαžˆαŸ’αž˜αŸ„αŸ‡αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž“αž·αž„αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αŸ”

http://load_balancer_public_ip:8181

αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž€αžŠαžαžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αŸ…αžαŸ‚αž”αž„αŸ’αž αžΆαž‰αž–αžŽαŸŒαž”αŸƒαžαž„ αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž”αžΎαž€αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž•αŸ’αž‘αž»αž€ IP αžαž»αž›αŸ’αž™αž—αžΆαž–αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž›αŸαžαž…αŸ’αžšαž€αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž»αž€αžšαž€αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

http://load_balancer_public_ip/

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΆαž“αž‘αŸ†αž–αŸαžšαž…αž»αŸ‡αž…αžαž‡αžΆαž…αŸ’αžšαžΎαž“αž”αŸ’αžšαž—αŸαž‘αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ back-end αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž’αŸ’αž“αž€αž“αžΉαž„αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžƒαžΎαž‰αžαžΆαžšαžΆαž›αŸ‹αž–αŸαž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αž•αŸ’αž‘αž»αž€αž‘αŸ†αž–αŸαžšαž‘αžΎαž„αžœαž·αž‰ αž’αŸ’αž“αž€αž“αžΉαž„αž‘αž‘αž½αž›αž”αžΆαž“αž€αžΆαžšαž†αŸ’αž›αžΎαž™αžαž”αž–αžΈαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž•αŸ’αžŸαŸαž„αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αžŸαžΆαž€αž›αŸ’αž”αž„αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžαž»αž›αŸ’αž™αž—αžΆαž–αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ αž¬αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž› αž―αž€αžŸαžΆαžšαž–αŸαž‰αž›αŸαž‰.

αžŸαŸαž…αž€αŸ’αžαžΈαžŸαž“αŸ’αž“αž·αžŠαŸ’αž‹αžΆαž“αŸ– HAProxy Load Balancer

αžŸαžΌαž˜αž’αž”αž’αžšαžŸαžΆαž‘αžšαž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ HAProxy load balancer αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαŸ„αž™αž‡αŸ„αž‚αž‡αŸαž™! αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž˜αžΆαž“αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αžαž»αž›αŸ’αž™αž—αžΆαž–αž”αž“αŸ’αž‘αž»αž€αž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž€αŸαžŠαŸ„αž™ αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„αž“αžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αž·αž„αž›αž‘αŸ’αž’αž—αžΆαž–αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸαž αž‘αŸ†αž–αŸαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αž˜αž‚αŸ’αž‚αž»αž‘αŸ’αž‘αŸαžŸαž€αŸαž“αŸαŸ‡αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‡αžΆαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž’αŸ†αž–αžΈαž€αžΆαžšαž•αŸ’αž‘αž»αž€αžαž»αž›αŸ’αž™αž—αžΆαž–αž‡αžΆαž˜αž½αž™ HAProxy αžŠαŸ‚αž›αž˜αžΆαž“αžŸαž˜αžαŸ’αžαž—αžΆαž–αž…αŸ’αžšαžΎαž“αž‡αžΆαž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸ’αžšαž”αžŠαžŽαŸ’αžαž”αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž’αŸ†αž–αžΈαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αžšαž αŸαžŸαŸ” αž™αžΎαž„αžŸαžΌαž˜αž•αŸ’αžαž›αŸ‹αž’αž“αž»αžŸαžΆαžŸαž“αŸαž±αŸ’αž™αžŸαžΆαž€αž›αŸ’αž”αž„αž‡αžΆαž˜αž½αž™αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž•αŸ’αžŸαŸαž„αŸ—αžŠαŸ„αž™αž”αŸ’αžšαžΎ αž―αž€αžŸαžΆαžšαž‘αžΌαž›αŸ†αž‘αžΌαž›αžΆαž™αž˜αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ HAProxy αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αžΆαžšαž’αŸ’αžœαžΎαž•αŸ‚αž“αž€αžΆαžšαžαž»αž›αŸ’αž™αž—αžΆαž–αž”αž“αŸ’αž‘αž»αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αžšαž·αž™αžΆαž€αžΆαžŸαž•αž›αž·αžαž€αž˜αŸ’αž˜αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

αžŠαŸ„αž™αž”αŸ’αžšαžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαžΎαž˜αŸ’αž”αžΈαž€αžΆαžšαž–αžΆαžšαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž‚αŸαž αž‘αŸ†αž–αŸαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‡αžΆαž˜αž½αž™ headroom αž“αŸ„αŸ‡ Load Balancer αžαŸ’αž›αž½αž“αžœαžΆαž“αŸ…αžαŸ‚αž’αžΆαž…αž”αž„αŸ’αž αžΆαž‰αž…αŸ†αžŽαž»αž…αž“αŸƒαž€αžΆαžšαž”αžšαžΆαž‡αŸαž™αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž“αžΌαžœαž—αžΆαž–αž’αžΆαž…αžšαž€αž”αžΆαž“αžαŸ’αž–αžŸαŸ‹αžŠαŸ„αž™αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ IP αž’αžŽαŸ’αžαŸ‚αžαž‘αžΉαž€αžšαžœαžΆαž„αž§αž”αž€αžšαžŽαŸαž•αŸ’αž‘αž»αž€αžαž»αž›αŸ’αž™αž—αžΆαž–αž…αŸ’αžšαžΎαž“αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹αž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈαžšαžΏαž„αž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ” αž’αžαŸ’αžαž”αž‘αž’αŸ†αž–αžΈαž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP αž’αžŽαŸ’αžαŸ‚αžαž›αžΎ UpCloud.

αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž’αŸ†αž–αžΈαžœαž‚αŸ’αž‚αžŸαž·αž€αŸ’αžŸαžΆ "αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž›αžΈαž“αž»αž…αŸ” αž“αž·αž˜αŸ’αž˜αž·αžαžšαžΌαž” αž“αž·αž„αž€αžΆαžšαžŠαžΆαž€αŸ‹αž‡αžΆαž€αŸ’αžšαž»αž˜"***

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹