Bagaimana untuk mengkonfigurasi pengimbangan beban Tcp dalam Nginx

WBOY
Lepaskan: 2023-05-20 13:16:20
ke hadapan
2705 orang telah melayarinya

Artikel ini menggunakan Nginx sebagai pelayan proksi untuk pengimbangan beban. Ia hanyalah contoh aplikasi yang mudah dan tidak melibatkan prinsip.

Bagaimana untuk mengkonfigurasi pengimbangan beban Tcp dalam Nginx

(Hos di sini adalah terhad, 42.192.22.128 port hos 8000 digunakan sebagai port mendengar pelayan proksi, 8181 ialah port mendengar perkhidmatan)
Pelanggan mengakses pelayan proksi, oleh Pelayan proksi mengedarkan permintaan kepada pelayan yang sepadan.
Ubah suai fail konfigurasi Nginx untuk mengkonfigurasi pengimbangan beban Tcp (fail konfigurasi berada dalam /usr/local/nginx/conf/nginx.config selepas pemasangan Nginx, dan program boleh laku Nginx berada dalam direktori /usr/local/nginx/sbin)
Tambah medan berikut dalam nginx.conf fail konfigurasi:

Bagaimana untuk mengkonfigurasi pengimbangan beban Tcp dalam Nginx

stream {
    upstream Server {
        server 42.192.22.128:8181 weight=1 max_fails=3 fail_timeout=30s;
        server 1.13.180.100:8181 weight=1 max_fails=3 fail_timeout=30s;
    }
    server {
        listen 8000;
        proxy_pass Server;
    }
}
Salin selepas log masuk

Ini terutamanya melibatkan dua blok konfigurasi upstream dan server
Dua hos ditakrifkan dalam upstream dan weight mewakili berat. Kedua-dua hos adalah 1, menunjukkan bahawa pelayan proksi akan mengedarkan permintaan klien secara sama kepada pelayan huluan max_fails digunakan bersama dengan fail_timeout, yang bermaksud bahawa dalam tempoh fail_timeout, jika bilangan. kegagalan pemajuan ke pelayan huluan semasa melebihi 3 kali , adalah dianggap bahawa pelayan huluan ini tidak tersedia dalam tempoh masa fail_timeout semasa. fail_timeout Menunjukkan bilangan kegagalan pemajuan dalam tempoh masa ini sebelum pelayan huluan dianggap tidak tersedia buat sementara waktu.
server menentukan nombor port 8000 yang pelayan proksi dengar dan proxy_pass menentukan nama upstream dalam blok Server.
Selepas konfigurasi selesai, gunakan nginx -s reload untuk membuat Nginx berjalan membaca semula item konfigurasi dan berkuat kuasa.
Pelayan hulu menggunakan perintah "Swiss Army Knife" nc untuk mensimulasikan pelayan TCP dan mendengar pada port yang sepadan: (Alamat IP di sini ialah IP intranet hos awan)

Bagaimana untuk mengkonfigurasi pengimbangan beban Tcp dalam Nginx

Pelanggan menggunakan applet Qt mudah untuk mensimulasikan:

void Widget::on_btnConnection_clicked()
{
    m_pTcpSocket->connectToHost(ui->lineeditIp->text(), ui->lineeditPort->text().toUShort());
    qDebug() << m_pTcpSocket->state();
}

void Widget::on_btnSend_clicked()
{
    qDebug() << m_pTcpSocket->state();
    QByteArray byteArray;
    byteArray.append(ui->texteditMsg->toPlainText());
    const char *pChatMsg = byteArray.data();
    qDebug() << m_pTcpSocket->write(pChatMsg, byteArray.size());
}
Salin selepas log masuk

memulakan dua pelanggan berturut-turut, menyambung ke 42.192.22.128:8000 melalui TCP dan menghantar mesej diedarkan kepada kedua-duanya Pada dua hos, ini bermakna permintaan pelanggan memang diedarkan kepada pelayan yang berbeza.

Bagaimana untuk mengkonfigurasi pengimbangan beban Tcp dalam Nginx

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi pengimbangan beban Tcp dalam Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan