Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk mengkonfigurasi proksi terbalik yang sangat tersedia (seperti Nginx) pada Linux

Bagaimana untuk mengkonfigurasi proksi terbalik yang sangat tersedia (seperti Nginx) pada Linux

PHPz
PHPzasal
2023-07-05 08:57:181543semak imbas

Cara mengkonfigurasi proksi songsang yang sangat tersedia (seperti Nginx) pada Linux

Abstrak:
Proksi terbalik ialah teknologi yang biasa digunakan dalam seni bina rangkaian untuk meningkatkan pengimbangan beban dan toleransi kesalahan perkhidmatan. Artikel ini akan memperkenalkan cara mengkonfigurasi proksi terbalik yang sangat tersedia pada sistem Linux, mengambil Nginx sebagai contoh.

  1. Pasang Nginx
    Mula-mula, kita perlu memasang Nginx pada sistem Linux. Pemasangan boleh dilakukan dengan arahan berikut:

    sudo apt-get update
    sudo apt-get install nginx
  2. Konfigurasi Reverse Proxy
    Mengkonfigurasi proksi terbalik dalam Nginx adalah sangat mudah. Edit fail konfigurasi Nginx /etc/nginx/nginx.conf dan tambah kandungan berikut dalam blok http: /etc/nginx/nginx.conf,在http块中添加以下内容:

    http {
     upstream backend {
         server backend1.example.com;
         server backend2.example.com;
         server backend3.example.com;
     }
    
     server {
         listen       80;
         server_name  example.com;
    
         location / {
             proxy_pass  http://backend;
         }
     }
    }

    上述配置中,我们定义了一个名为backend的upstream块,其中列出了需要代理的后端服务器。server块指定了监听的端口和域名,并将请求转发给backend

  3. 配置负载均衡策略
    在上述配置中,默认使用的是轮询(Round-Robin)的负载均衡策略。即每个请求依次按顺序分配到后端服务器。如果需要更复杂的负载均衡策略,可以根据需要进行配置。
    以下是一些常见的负载均衡策略示例:

a. IP Hash

upstream backend {
    ip_hash;
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}

IP Hash策略会根据客户端的IP地址将其请求分配到特定的后端服务器,这样可以保持同一个客户端的请求都发送到同一台服务器上。

b. Least Connections

upstream backend {
    least_conn;
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}

Least Connections策略会将请求发送到当前连接数最少的服务器上,以实现负载均衡。

  1. 重载Nginx配置
    完成配置后,需要重载Nginx配置文件以使更改生效。可以通过以下命令完成操作:

    sudo nginx -s reload
  2. 高可用性配置
    为了实现高可用性,可以将多个Nginx节点组成一个集群,并使用Keepalived等工具来实现故障转移。以下是一个简单的示例,假设集群中有两个节点:

    sudo apt-get install keepalived

    在每个节点上,都需要编辑Keepalived的配置文件,通常位于/etc/keepalived/keepalived.conf。以下是一个示例配置:

    global_defs {
     router_id LB_NODE1
    }
    
    vrrp_instance VI_1 {
     state MASTER
     interface eth0
     virtual_router_id 51
     priority 100
     
     virtual_ipaddress {
         192.168.1.100
     }
    }

    其中,state指定了节点的状态(MASTER或BACKUP),virtual_router_id指定了虚拟路由器ID,virtual_ipaddress

    sudo service keepalived restart

    Dalam konfigurasi di atas, kami menentukan fail bernama backend Blok hulu menyenaraikan pelayan bahagian belakang yang memerlukan proksi. Blok server menentukan port pendengaran dan nama domain dan memajukan permintaan ke backend.

Konfigurasikan strategi pengimbangan beban

Dalam konfigurasi di atas, strategi pengimbangan beban round-robin digunakan secara lalai. Iaitu, setiap permintaan diedarkan kepada pelayan bahagian belakang mengikut urutan. Jika strategi pengimbangan beban yang lebih kompleks diperlukan, ia boleh dikonfigurasikan mengikut keperluan.

Berikut ialah beberapa contoh strategi pengimbangan beban:

🎜a IP Hash🎜rrreee🎜Strategi IP Hash mengedarkan permintaan pelanggan kepada pelayan bahagian belakang tertentu berdasarkan alamat IP mereka, dengan itu mengekalkan permintaan pelanggan yang sama dihantar kepada yang sama. pelayan. 🎜🎜b. Least Connections🎜rrreee🎜Dasar Least Connections akan menghantar permintaan kepada pelayan dengan bilangan sambungan semasa terkecil untuk mencapai pengimbangan beban. 🎜
    🎜🎜Muat semula konfigurasi Nginx🎜Selepas melengkapkan konfigurasi, anda perlu memuat semula fail konfigurasi Nginx untuk perubahan berkuat kuasa. Ini boleh dilakukan dengan arahan berikut: 🎜rrreee🎜🎜🎜Konfigurasi Ketersediaan Tinggi🎜Untuk mencapai ketersediaan tinggi, berbilang nod Nginx boleh dibentuk menjadi gugusan dan menggunakan alatan seperti Keepalived untuk melaksanakan failover. Berikut ialah contoh mudah, dengan mengandaikan terdapat dua nod dalam kelompok: 🎜rrreee🎜Pada setiap nod, anda perlu mengedit fail konfigurasi Keepalived, biasanya terletak di /etc/keepalived/keepalived.conf. Berikut ialah contoh konfigurasi: 🎜rrreee🎜di mana, state menentukan status nod (MASTER atau BACKUP), virtual_router_id menentukan ID penghala maya, virtual_ipaddress code> menentukan alamat IP maya. . Melalui konfigurasi ini, keupayaan mengimbangi beban dan toleransi kesalahan perkhidmatan boleh dipertingkatkan, dengan itu mencapai ketersediaan dan kestabilan yang lebih tinggi. Pada masa yang sama, ia juga memperkenalkan cara menggunakan alatan seperti Keepalived untuk melaksanakan failover proksi terbalik. Saya harap kandungan ini akan membantu rakan-rakan yang ingin membina sistem proksi songsang yang sangat tersedia. 🎜

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi proksi terbalik yang sangat tersedia (seperti Nginx) pada Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn