Newer
Older
WordPress-Load-Balance-Layer-7 / README.md
  1. WordPress-Load-Balance-Layer-7
  2. ===============
  3.  
  4. Repositori berisi langkah konfigurasi load balancing pada WordPress khususnya pada layer 7
  5.  
  6. ## Persiapan
  7. - 1 Node Load Balance
  8. - server-ha.floss.my.id
  9. - 2 Node Backend Webserver
  10. - backend1.floss.my.id
  11. - backend2.floss.my.id
  12. - 1 Node Database
  13. - server-db.floss.my.id
  14.  
  15. ## Pre-installation
  16.  
  17. **1. Buat bash script untuk otomasi install paket epel**
  18.  
  19. `$ vi epel.sh`
  20. ```sh
  21. #!/bin/bash
  22. for i in server-ha.floss.my.id \
  23. backend1.floss.my.id \
  24. backend2.floss.my.id \
  25. server-db.floss.my.id
  26. do
  27. ssh root@"$i" yum install epel-release htop yum-utils -y
  28. done
  29. ```
  30.  
  31. Beri permission `execute` pada file `epel.sh` :
  32.  
  33. `$ chmod +x epel.sh`
  34.  
  35. Eksekusi file tersebut :
  36.  
  37. `$ ./epel.sh`
  38.  
  39. **2. Buat bash script untuk otomasi install paket nginx dan php**
  40.  
  41. `$ vi ephp.sh`
  42.  
  43. ```sh
  44. #!/bin/bash
  45. for i in backend1.floss.my.id \
  46. backend2.floss.my.id
  47. do
  48. ssh root@"$i" yum install nginx -y;
  49. ssh root@"$i" "systemctl enable nginx && systemctl start nginx";
  50. ssh root@"$i" yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y;
  51. ssh root@"$i" yum-config-manager --enable remi-php72;
  52. ssh root@"$i" yum -y install php \
  53. php-intl \
  54. php-common \
  55. php-opcache \
  56. php-mcrypt \
  57. php-cli \
  58. php-gd \
  59. php-curl \
  60. php-mysqlnd \
  61. php-dom \
  62. php-curl \
  63. php-zip \
  64. php-mbstring \
  65. php-xml \
  66. php-xmlreader \
  67. php-simplexml \
  68. php-bcmath \
  69. php-soap \
  70. php-amqplib \
  71. php-fpm;
  72. ssh root@"$i" "systemctl enable php-fpm && systemctl start php-fpm";
  73. done
  74. ```
  75.  
  76. Beri permission `execute` pada file `epel.sh` :
  77.  
  78. `$ chmod +x ephp.sh`
  79.  
  80. Eksekusi file tersebut :
  81.  
  82. `$ ./ephp.sh`
  83.  
  84. **3. Install HAProxy pada node load balance**
  85.  
  86. `$ yum install haproxy -y`
  87.  
  88. Jalankan service HAProxy
  89.  
  90. `$ systemctl start haproxy`
  91.  
  92. Aktifkas service HAProxy
  93.  
  94. `$ systemctl enable haproxy`
  95.  
  96. **4. Install MariaDB pada node database**
  97.  
  98. Tambahkan repository MariaDB :
  99.  
  100. `$ vi /etc/yum.repos.d/mariadb.repo`
  101.  
  102. ```
  103. [mariadb]
  104. name = MariaDB
  105. baseurl = http://yum.mariadb.org/10.1/centos7-amd64
  106. gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
  107. gpgcheck=1
  108. ```
  109.  
  110. Install MariaDB
  111.  
  112. `$ yum install -y mariadb-server`
  113.  
  114. Jalankan service HAProxy
  115.  
  116. `$ systemctl start mariadb`
  117.  
  118. Aktifkas service HAProxy
  119.  
  120. `$ systemctl enable mariadb`
  121.  
  122. ## Konfigurasi
  123.  
  124. **1. Pada node backend webserver :**