search
HomeOperation and MaintenanceLinux Operation and MaintenanceHow to configure software load balancing (such as HAProxy) on Linux

How to configure software load balancing (such as HAProxy) on Linux

Jul 05, 2023 pm 02:40 PM
linux configurationSoftware load balancinghaproxy configuration

How to configure software load balancing (such as HAProxy) on Linux

Introduction:
In modern Internet applications, high availability and high performance are crucial. To achieve scalability and fault tolerance, a load balancer is often used to distribute network traffic to multiple servers. This article will introduce how to configure software load balancing on Linux, taking HAProxy as an example, and provide code examples.

1. Install and configure HAProxy
First, we need to install the HAProxy software. On Ubuntu, you can install it with the following command:

sudo apt-get install haproxy

After installation, we need to configure HAProxy. Open the configuration file /etc/haproxy/haproxy.cfg and use a text editor to modify it.

sudo vi /etc/haproxy/haproxy.cfg

In the configuration file, we need to set up the listener and backend server. The following is the content of a sample configuration file:

global
    log         /dev/log local0
    log         /dev/log local1 notice
    chroot      /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 level admin
    stats timeout 30s
    maxconn     4096
    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
    default_backend http_back

backend http_back
    balance roundrobin
    server web1 192.168.0.101:80 check
    server web2 192.168.0.102:80 check

In the above configuration, we set up an http front-end that listens on port 80 and distributes traffic to the back-end server named http_back. Through the balance command, we can choose the load balancing algorithm, such as roundrobin, leastconn, etc. In the example, we use roundrobin algorithm for round robin distribution. At the same time, we defined two backend servers, respectively 192.168.0.101:80 and 192.168.0.102:80. The check command means to check the health status of the backend server.

After completing the configuration, save and exit.

2. Start and monitor HAProxy
After completing the configuration, we need to start and monitor the HAProxy service. Use the following command to start HAProxy:

sudo service haproxy start

After the service is started, you can use the following command to check the service status:

sudo service haproxy status

Use the statistical reporting function of HAProxy to monitor traffic distribution in real time. In the global section of the configuration file, we set the stats socket and stats timeout. We can access the statistical report through the following command:

sudo socat stdio /run/haproxy/admin.sock

In addition, we can also access http:// in the browser localhost:1936 to view graphical HAProxy statistical reports.

3. Use HAProxy for load balancing
After the configuration is completed and the HAProxy service is started, we can use the load balancer to distribute traffic to multiple back-end servers. For example, an application running locally listens on port 8080 and hopes to be load balanced through HAProxy. We can access the application by visiting http://localhost:80 in the browser.

In this configuration, HAProxy will package and forward traffic requests to the application on the backend server according to the selected load balancing algorithm.

Conclusion:
This article introduces how to configure software load balancing on Linux, taking HAProxy as an example. By installing and configuring HAProxy, we can achieve high availability and high performance network traffic distribution. This article provides code examples and monitoring guidelines to help readers quickly get started using HAProxy. The use of load balancers can significantly improve the performance and scalability of applications and is an indispensable part of modern Internet applications.

The above is the detailed content of How to configure software load balancing (such as HAProxy) on Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Linux Maintenance Mode: Understanding the PurposeLinux Maintenance Mode: Understanding the PurposeApr 28, 2025 am 12:01 AM

Maintenance mode is used for system maintenance and repair, allowing administrators to work in a simplified environment. 1. System Repair: Repair corrupt file system and boot loader. 2. Password reset: reset the root user password. 3. Package management: Install, update or delete software packages. By modifying the GRUB configuration or entering maintenance mode with specific keys, you can safely exit after performing maintenance tasks.

Linux Operations: Networking and Network ConfigurationLinux Operations: Networking and Network ConfigurationApr 27, 2025 am 12:09 AM

Linux network configuration can be completed through the following steps: 1. Configure the network interface, use the ip command to temporarily set or edit the configuration file persistence settings. 2. Set up a static IP, suitable for devices that require a fixed IP. 3. Manage the firewall and use the iptables or firewalld tools to control network traffic.

Maintenance Mode in Linux: A System Administrator's GuideMaintenance Mode in Linux: A System Administrator's GuideApr 26, 2025 am 12:20 AM

Maintenance mode plays a key role in Linux system management, helping to repair, upgrade and configuration changes. 1. Enter maintenance mode. You can select it through the GRUB menu or use the command "sudosystemctlisolaterscue.target". 2. In maintenance mode, you can perform file system repair and system update operations. 3. Advanced usage includes tasks such as resetting the root password. 4. Common errors such as not being able to enter maintenance mode or mount the file system, can be fixed by checking the GRUB configuration and using the fsck command.

Maintenance Mode in Linux: When and Why to Use ItMaintenance Mode in Linux: When and Why to Use ItApr 25, 2025 am 12:15 AM

The timing and reasons for using Linux maintenance mode: 1) When the system starts up, 2) When performing major system updates or upgrades, 3) When performing file system maintenance. Maintenance mode provides a safe and controlled environment, ensuring operational safety and efficiency, reducing impact on users, and enhancing system security.

Linux: Essential Commands and OperationsLinux: Essential Commands and OperationsApr 24, 2025 am 12:20 AM

Indispensable commands in Linux include: 1.ls: list directory contents; 2.cd: change working directory; 3.mkdir: create a new directory; 4.rm: delete file or directory; 5.cp: copy file or directory; 6.mv: move or rename file or directory. These commands help users manage files and systems efficiently by interacting with the kernel.

Linux Operations: Managing Files, Directories, and PermissionsLinux Operations: Managing Files, Directories, and PermissionsApr 23, 2025 am 12:19 AM

In Linux, file and directory management uses ls, cd, mkdir, rm, cp, mv commands, and permission management uses chmod, chown, and chgrp commands. 1. File and directory management commands such as ls-l list detailed information, mkdir-p recursively create directories. 2. Permission management commands such as chmod755file set file permissions, chownuserfile changes file owner, and chgrpgroupfile changes file group. These commands are based on file system structure and user and group systems, and operate and control through system calls and metadata.

What is Maintenance Mode in Linux? ExplainedWhat is Maintenance Mode in Linux? ExplainedApr 22, 2025 am 12:06 AM

MaintenanceModeinLinuxisaspecialbootenvironmentforcriticalsystemmaintenancetasks.Itallowsadministratorstoperformtaskslikeresettingpasswords,repairingfilesystems,andrecoveringfrombootfailuresinaminimalenvironment.ToenterMaintenanceMode,interrupttheboo

Linux: A Deep Dive into Its Fundamental PartsLinux: A Deep Dive into Its Fundamental PartsApr 21, 2025 am 12:03 AM

The core components of Linux include kernel, file system, shell, user and kernel space, device drivers, and performance optimization and best practices. 1) The kernel is the core of the system, managing hardware, memory and processes. 2) The file system organizes data and supports multiple types such as ext4, Btrfs and XFS. 3) Shell is the command center for users to interact with the system and supports scripting. 4) Separate user space from kernel space to ensure system stability. 5) The device driver connects the hardware to the operating system. 6) Performance optimization includes tuning system configuration and following best practices.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function