NGINX dan PM2: Membina persekitaran VPS yang cekap memerlukan contoh kod khusus
Dengan perkembangan pesat Internet, semakin banyak tapak web dan aplikasi digunakan pada Pelayan Peribadi Maya (VPS). Untuk memastikan operasi yang cekap dan kebolehpercayaan aplikasi ini, kita perlu memilih alat dan teknologi yang sesuai untuk membina dan mengurus persekitaran VPS.
Dalam artikel ini, kami akan memberi tumpuan kepada dua alat utama: NGINX dan PM2. NGINX ialah pelayan web berprestasi tinggi dan pelayan proksi terbalik, manakala PM2 ialah pengurus proses yang berkuasa. Dengan menggunakan kedua-dua alat ini, kami boleh membina persekitaran VPS yang cekap untuk menyediakan perkhidmatan aplikasi yang stabil dan boleh dipercayai.
Pertama, mari belajar tentang NGINX. NGINX ialah pelayan HTTP sumber terbuka, berprestasi tinggi dan pelayan proksi terbalik. Ia boleh mengendalikan sejumlah besar permintaan serentak dengan cekap dan memberikan respons pantas untuk sumber statik. Selain itu, NGINX juga mempunyai fungsi pengimbangan beban dan proksi terbalik yang berkuasa yang boleh memajukan permintaan ke pelayan bahagian belakang yang berbeza. Ini membolehkan kami mencapai ketersediaan yang tinggi dan berskala dengan mudah.
Berikut ialah contoh konfigurasi menggunakan NGINX sebagai proksi terbalik:
server { listen 80; server_name example.com; location / { proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
Dalam konfigurasi contoh di atas, kami memajukan semua permintaan daripada example.com kepada aplikasi yang dijalankan secara setempat pada port 3000. Pada masa yang sama, kami juga menetapkan beberapa pengepala HTTP untuk menghantar maklumat yang berkaitan.
Seterusnya, mari perkenalkan PM2. PM2 ialah pengurus proses sumber terbuka yang boleh digunakan untuk mengurus aplikasi Node.js. Ia memantau status aplikasi dan pulih secara automatik daripada kegagalan. Selain itu, PM2 mempunyai keupayaan pengimbangan beban dan pengelompokan untuk mengendalikan berbilang permintaan serentak dengan mudah.
Berikut ialah contoh arahan untuk melancarkan dan mengurus aplikasi Node.js menggunakan PM2:
pm2 start app.js -i max
Dalam arahan contoh di atas, kami menggunakan PM2 untuk melancarkan aplikasi Node.js bernama app.js dan menggunakan -i Set parameter bilangan proses kepada nilai maksimum. Ini secara automatik akan menetapkan bilangan proses berdasarkan bilangan teras pemproses yang tersedia.
Dengan menggunakan NGINX dan PM2, kami boleh membina persekitaran VPS yang cekap. Di bawah ialah contoh fail konfigurasi lengkap yang menunjukkan cara menggunakan NGINX dengan PM2:
http { upstream app_servers { server localhost:3000; server localhost:3001; server localhost:3002; } server { listen 80; server_name example.com; location / { proxy_pass http://app_servers; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } }
Dalam fail konfigurasi contoh di atas, kami menggunakan kumpulan pengimbangan beban yang dipanggil app_servers yang mengandungi pelayan yang berjalan pada port berbeza bagi berbilang aplikasi Node.js. NGINX akan memajukan permintaan secara automatik ke pelayan bahagian belakang yang tersedia berdasarkan algoritma pengimbangan beban.
Seterusnya, kami boleh menggunakan PM2 untuk melancarkan dan mengurus aplikasi Node.js ini:
pm2 start app.js -i 3
Dalam arahan contoh di atas, kami menggunakan PM2 untuk melancarkan tiga proses untuk mengendalikan aplikasi ini. PM2 akan memantau proses ini secara automatik dan memulakan semula proses secara automatik sekiranya berlaku kegagalan.
Ringkasnya, menggunakan NGINX dan PM2 boleh membina persekitaran VPS yang cekap. NGINX menyediakan pelayan web berprestasi tinggi dan fungsi proksi terbalik, manakala PM2 menyediakan pengurusan proses yang berkuasa dan keupayaan pemulihan kerosakan. Dengan menggunakan kedua-dua alatan ini bersama-sama, kami boleh membina dan mengurus perkhidmatan aplikasi yang stabil dan boleh dipercayai dengan mudah.
Dalam aplikasi sebenar, kami juga boleh melakukan konfigurasi dan pengoptimuman selanjutnya mengikut keperluan khusus. Melalui pengimbangan beban yang munasabah dan konfigurasi kelompok, kami boleh mencapai ketersediaan dan prestasi yang lebih tinggi. Selain itu, pemantauan berkala dan analisis log juga merupakan aspek penting untuk memastikan operasi sistem yang stabil.
Oleh itu, saya berharap contoh kod NGINX dan PM2 yang disediakan dalam artikel ini dapat membantu pembaca membina persekitaran VPS yang cekap dan mendapat pengalaman perkhidmatan aplikasi yang lebih baik daripadanya.
Atas ialah kandungan terperinci NGINX dan PM2: Membina persekitaran VPS yang cekap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!