Rumah >Operasi dan penyelenggaraan >Nginx >Cara menggunakan NGINX dan PM2 untuk mengoptimumkan pengimbangan beban pelayan VPS

Cara menggunakan NGINX dan PM2 untuk mengoptimumkan pengimbangan beban pelayan VPS

王林
王林asal
2023-09-26 18:17:07848semak imbas

Cara menggunakan NGINX dan PM2 untuk mengoptimumkan pengimbangan beban pelayan VPS

Cara menggunakan NGINX dan PM2 untuk mengoptimumkan pengimbangan beban pelayan VPS

Pengenalan:
Dalam aplikasi web moden, pengimbangan beban adalah teknologi yang sangat kritikal. Ia boleh meningkatkan kebolehskalaan dan kebolehpercayaan aplikasi dengan menyebarkan trafik merentasi berbilang pelayan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan NGINX dan PM2 untuk mengoptimumkan pengimbangan beban pelayan VPS. Kami akan menerangkan setiap langkah secara terperinci dengan contoh kod tertentu.

Langkah 1: Pasang NGINX
Mula-mula, kita perlu memasang NGINX, iaitu pelayan web berprestasi tinggi dan pelayan proksi terbalik. Berikut ialah arahan khusus untuk memasang NGINX pada Ubuntu:

$ apt-get update
$ apt-get install nginx

Langkah 2: Konfigurasikan NGINX
Setelah pemasangan selesai, kita perlu melakukan beberapa konfigurasi NGINX. Berikut ialah kandungan fail konfigurasi contoh:

http {
    upstream backend {
        server backend1.example.com;
        server backend2.example.com;
    }

    server {
        listen 80;

        location / {
            proxy_pass http://backend;
        }
    }
}

Dalam contoh di atas, kami menyediakan kluster pelayan bernama backend, yang mengandungi dua pelayan backend backend1.example.com dan backend2.example.com. Kami kemudian akan mendengar pada port 80 dan proksi semua trafik ke kluster pelayan bahagian belakang.

Langkah 3: Pasang PM2
Seterusnya, kita perlu memasang pengurus proses PM2. PM2 boleh membantu kami melancarkan dan mengurus aplikasi Node.js pada pelayan. Berikut ialah arahan khusus untuk memasang PM2 pada Ubuntu:

$ npm install pm2 -g

Langkah Empat: Sebarkan aplikasi pada pelayan bahagian belakang
Sebelum kami meneruskan, kami perlu menggunakan aplikasi Node.js yang ringkas pada pelayan bahagian belakang. Berikut ialah contoh kod untuk aplikasi Express yang ringkas:

const express = require('express');
const app = express();

app.get('/', (req, res) => {
    res.send('Hello, World!');
});

app.listen(3000, () => {
    console.log('App is running on port 3000');
});

Simpan kod di atas sebagai app.js dan jalankan arahan berikut pada pelayan bahagian belakang untuk memulakan aplikasi:

$ node app.js

Sekarang, aplikasi kami harus berfungsi melalui Lawati http:/ /backend1.example.com:3000 untuk mengaksesnya.

Langkah 5: Gunakan PM2 untuk memulakan aplikasi pada pelayan bahagian belakang
Untuk menggunakan PM2 untuk pengurusan proses, kita perlu memasukkan direktori di mana aplikasi terletak dan menggunakan arahan berikut untuk memulakan aplikasi:

$ pm2 start app.js

The arahan di atas menganggap aplikasi sebagai Daemon berjalan di latar belakang dan secara automatik mengendalikan perkara seperti permulaan semula aplikasi dan pengurusan log.

Langkah 6: Konfigurasikan Pengimbangan Beban dalam NGINX
Kini, kami telah mengkonfigurasi NGINX dan memulakan aplikasi Node.js pada pelayan bahagian belakang. Kita perlu mengubah suai fail konfigurasi NGINX untuk mencapai pengimbangan beban. Berikut ialah kandungan fail konfigurasi sampel yang diubah suai:

http {
    upstream backend {
        server backend1.example.com:3000;
        server backend2.example.com:3000;
    }

    server {
        listen 80;

        location / {
            proxy_pass http://backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
}

Dalam fail konfigurasi di atas, kami menukar port pelayan hujung belakang daripada 80 kepada 3000 dan menambahkan arahan proxy_set_header untuk menghantar beberapa maklumat pengepala HTTP utama.

Langkah 7: Mulakan semula perkhidmatan NGINX dan PM2
Sebelum kami melakukan ujian pengimbangan beban, kami perlu memulakan semula perkhidmatan NGINX dan PM2 untuk perubahan berkuat kuasa. Berikut ialah arahan mulakan semula:

$ service nginx restart
$ pm2 restart all

Langkah 8: Uji pengimbangan beban
Kini, kita boleh menggunakan pelayar web atau arahan curl untuk menguji sama ada pengimbangan beban berfungsi dengan betul. Kita seharusnya boleh mendapatkan respons "Hello, World!" dengan melawati http://yourdomain.com. Setiap kali kami memuat semula halaman, kami akan melihat nama pelayan yang berbeza untuk pelayan bahagian belakang, yang bermaksud pengimbangan beban sedang berkuat kuasa.

Kesimpulan:
Dengan menggunakan NGINX dan PM2, kami boleh mencapai pengimbangan beban dengan mudah pada pelayan VPS. Pengimbangan beban boleh meningkatkan kebolehskalaan dan kebolehpercayaan aplikasi untuk memberi perkhidmatan yang lebih baik kepada pengguna. Kami berharap contoh dan langkah kod khusus yang disediakan dalam artikel ini dapat membantu pembaca mengamalkan pengoptimuman pelayan dan pengimbangan beban dengan lebih baik.

Atas ialah kandungan terperinci Cara menggunakan NGINX dan PM2 untuk mengoptimumkan pengimbangan beban pelayan VPS. 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