Notice
Recent Posts
Recent Comments
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

ITFragile

[Linux] 04. WEB - DB 로드밸런싱 본문

Project

[Linux] 04. WEB - DB 로드밸런싱

경요 2023. 3. 15. 15:43

1.  환경설정 파일 수정

 

[변경 전]

# lb
frontend haproxy-main
        bind *:80
        option forwardfor
        default_backend apache_webserver

backend apache_webserver
        balance roundrobin
        server web01 192.168.56.210:80
        server web02 192.168.56.220:80

[변경 후]

# lb
# vim /etc/haproxy/haproxy.cfg

frontend web-lb
        bind *:80
        option forwardfor
        default_backend webserver

backend webserver
        balance roundrobin
        server web01 192.168.56.210:80
        server web02 192.168.56.220:80

frontend db-lb
        bind *:3306
        mode tcp
        option forwardfor
        default_backend dbserver

backend dbserver
        balance roundrobin
        server db-m 192.168.56.230:3306
        server db-s 192.168.56.240:3306

Web 뿐 아니라 db도 로드밸런싱 되도록 lb 서버에 설정 추가

 

2. 서비스 재시작

service haproxy restart

 

3. web01, web02 index.php 수정

# vim /var/www/html/index.php
<?php
$server_addr = "192.168.56.200"; # LB 서버 IP 주소
$user_name = "web_user";
$password = "dkagh1.";
$db_name = "web_db";
$connection = mysqli_connect($server_addr, $user_name, $password, $db_name);
$query = "SELECT * FROM web_tb";
$rst = mysqli_query($connection, $query);

if (mysqli_num_rows($rst) > 0) {
  while($i = mysqli_fetch_assoc($rst)) {
    echo "id : "  .  $i["id"]  .  " | name : "  .  $i["name"]  .   "<br>" ;
  }
}
mysqli_close($connection);
?>

 

4. 접속 확인

로드밸런서 IP로 접속 시 정상적으로 DB 연동됨을 확인

 

'Project' 카테고리의 다른 글

[Ansible] 02. Playbook 작성  (0) 2023.03.15
[Ansible] 01. 작업 환경 구성  (0) 2023.03.15
[Linux] 03. DB 이중화  (0) 2023.03.15
[Linux] 02. WEB - DB 연동  (0) 2023.03.15
[Linux] 01. 작업 환경 구성  (0) 2023.03.15