Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk mengoptimumkan masa tindak balas pelayan VPS dan daya pengeluaran menggunakan NGINX dan PM2

Bagaimana untuk mengoptimumkan masa tindak balas pelayan VPS dan daya pengeluaran menggunakan NGINX dan PM2

PHPz
PHPzasal
2023-09-27 08:45:151232semak imbas

Bagaimana untuk mengoptimumkan masa tindak balas pelayan VPS dan daya pengeluaran menggunakan NGINX dan PM2

Ditunjukkan di bawah adalah artikel tentang cara mengoptimumkan masa tindak balas dan daya pemprosesan pelayan VPS menggunakan NGINX dan PM2:

Tajuk: Bagaimana untuk mengoptimumkan masa tindak balas dan daya pemprosesan pelayan VPS menggunakan NGINX dan PM2

Gambaran Keseluruhan :
Dalam senario aplikasi Internet moden, cara meningkatkan masa tindak balas pelayan dan daya pemprosesan adalah cabaran yang perlu dihadapi oleh setiap pembangun. NGINX dan PM2 ialah dua alatan berkuasa yang boleh membantu kami mengoptimumkan prestasi pelayan dengan mudah. Artikel ini akan memperkenalkan secara terperinci cara menggunakan NGINX dan PM2 untuk mengoptimumkan masa tindak balas dan daya pemprosesan pelayan VPS, dan memberikan contoh kod khusus.

1. Pemasangan dan konfigurasi NGINX:

  1. Memasang NGINX:
    Memasang NGINX pada pelayan VPS adalah sangat mudah dan boleh dipasang menggunakan alat pengurusan pakej (seperti apt, yum, dll.). Sila rujuk dokumentasi rasmi NGINX untuk langkah pemasangan tertentu.
  2. Mengkonfigurasi NGINX:
    Fail konfigurasi NGINX terletak di /etc/nginx/nginx.conf Dalam fail ini, prestasi pelayan boleh ditala. Berikut ialah beberapa item konfigurasi yang biasa digunakan:

    • worker_processes: Nyatakan bilangan proses pekerja yang digunakan oleh NGINX Secara umumnya disyorkan untuk menetapkannya kepada bilangan teras CPU pelayan.
    • worker_connections: Menentukan bilangan sambungan serentak yang boleh dikendalikan oleh setiap proses pekerja. Nilai ini boleh dilaraskan mengikut konfigurasi pelayan Secara umumnya disyorkan untuk menetapkannya kepada bilangan sambungan yang disokong maksimum.
    • sendfile: Menghidupkan pilihan ini boleh meningkatkan kecekapan pemindahan fail.
    • keepalive_timeout: Tentukan tamat masa untuk sambungan yang panjang, yang boleh mengurangkan kos mewujudkan dan menutup sambungan antara pelanggan dan pelayan.

    Contoh fail konfigurasi adalah seperti berikut:

     worker_processes  4;
     
     events {
         worker_connections  1024;
     }
     
     http {
         ...
         sendfile            on;
         keepalive_timeout   65;
         ...
     }

2 Pemasangan dan konfigurasi PM2:

  1. Pemasangan PM2:
    PM2 ialah alat untuk menguruskan aplikasi Node.jsd. dan fungsi mula semula automatik. Gunakan arahan berikut untuk memasang PM2:

     npm install pm2 -g
  2. Konfigurasikan PM2:
    Fail konfigurasi PM2 ialah economy.config.js Dalam fail ini, anda boleh mengkonfigurasi parameter aplikasi Node.js yang perlu dimulakan. Berikut ialah contoh konfigurasi mudah:

     module.exports = {
       apps : [{
         name: 'app',
         script: 'app.js',
         instances: 'max',
         exec_mode: 'cluster',
         autorestart: true,
         watch: false,
         max_memory_restart: '1G',
         env: {
           NODE_ENV: 'production'
         }
       }]
     };
    • nama: nama aplikasi
    • skrip: laluan fail masukan aplikasi
    • contoh: bilangan kejadian yang dimulakan, ditetapkan kepada maksimum untuk diperuntukkan secara automatik mengikut bilangan teras CPU bagi mesin
    • exec_mode: Mod pelaksanaan, ditetapkan kepada kelompok untuk mencapai pengimbangan beban
    • automula semula: Tetapkan kepada benar untuk mendayakan mula semula automatik
    • tonton: Tetapkan kepada palsu untuk mematikan pemantauan perubahan fail
    • max_memory_restart: Tetapkan penggunaan memori maksimum daripada setiap kejadian, melebihi ini Contoh akan dimulakan semula secara automatik apabila nilai dicapai
    • env: Tetapkan pembolehubah persekitaran aplikasi Node.js

3. Penggunaan gabungan NGINX dan PM2:

  1. Proksi terbalik NGINX:
    Konfigurasikan NGINX sebagai proksi terbalik, Majukan permintaan ke aplikasi Node.js yang dimulakan oleh PM2. Berikut ialah konfigurasi contoh:

     server {
         listen   80;
         server_name  example.com;
     
         location / {
             proxy_pass http://localhost:3000;
             proxy_http_version 1.1;
             proxy_set_header Upgrade $http_upgrade;
             proxy_set_header Connection 'upgrade';
             proxy_set_header Host $host;
             proxy_cache_bypass $http_upgrade;
         }
     }
    • dengar: Nyatakan nombor port yang pelayan dengar
    • nama_pelayan: Nyatakan nama domain atau alamat IP terikat
    • lokasi/: Nyatakan peraturan padanan permintaan dan konfigurasi proksi
  2. Mulakan aplikasi Node .js:
    Lancarkan aplikasi Node.js menggunakan PM2. Berikut ialah contoh arahan permulaan:

     pm2 start ecosystem.config.js

    Selepas arahan itu dilaksanakan, PM2 akan melengkapkan permulaan aplikasi secara automatik dan melakukan pengimbangan beban dan mula semula automatik mengikut parameter dalam fail konfigurasi.

Kesimpulan:
Artikel ini memperkenalkan cara menggunakan NGINX dan PM2 untuk mengoptimumkan masa tindak balas dan daya pemprosesan pelayan VPS. Dengan melaraskan parameter konfigurasi NGINX dengan sewajarnya dan menggunakan PM2 untuk pengimbangan beban dan mula semula automatik, prestasi dan kestabilan pelayan boleh dipertingkatkan dengan ketara. Saya harap artikel ini boleh membantu pembangun yang menghadapi kesukaran dalam pengoptimuman pelayan.

Atas ialah kandungan terperinci Bagaimana untuk mengoptimumkan masa tindak balas pelayan VPS dan daya pengeluaran menggunakan NGINX dan PM2. 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