Rumah > Operasi dan penyelenggaraan > Nginx > NGINX PM2 VPS: Bina pelayan aplikasi berskala dengan cepat

NGINX PM2 VPS: Bina pelayan aplikasi berskala dengan cepat

PHPz
Lepaskan: 2023-09-26 10:41:02
asal
1198 orang telah melayarinya

NGINX PM2 VPS: 快速搭建可扩展的应用服务器

NGINX PM2 VPS: Bina pelayan aplikasi berskala dengan cepat

Pengenalan:
Dalam pembangunan aplikasi moden, membina pelayan aplikasi berskala menjadi penting. NGINX, PM2 dan VPS ialah tiga alat berkuasa, dan gabungan mereka boleh membina pelayan aplikasi berskala dengan cepat. Artikel ini akan memperkenalkan cara menggunakan alat ini untuk membina pelayan aplikasi berprestasi tinggi dan menyediakan contoh kod khusus.

1. Apakah itu NGINX?
NGINX ialah pelayan web berprestasi tinggi dan pelayan proksi terbalik. Ia boleh mengendalikan permintaan konkurensi tinggi, bertindak balas dengan cepat dan mempunyai pengimbangan beban dan keselamatan yang boleh dipercayai. Apabila membina pelayan aplikasi berskala, NGINX biasanya digunakan sebagai pelayan bahagian hadapan untuk menerima permintaan pelanggan dan memajukan permintaan ke pelayan aplikasi bahagian belakang.

2. Apakah itu PM2?
PM2 ialah alat pengurusan proses yang boleh menyediakan pengurusan aplikasi dan fungsi pemantauan apabila aplikasi Node.js sedang berjalan. PM2 memastikan operasi aplikasi yang stabil dan memulakan semula aplikasi secara automatik dan menyediakan log ralat apabila aplikasi ranap. Apabila membina pelayan aplikasi berskala, PM2 boleh digunakan untuk mengurus dan memantau pelbagai proses aplikasi.

3. Apakah itu VPS?
VPS (Virtual Private Server) ialah teknologi virtualisasi yang boleh membahagikan berbilang pelayan maya bebas pada pelayan fizikal. Setiap pelayan maya mempunyai sistem pengendalian dan sumbernya sendiri, dan boleh menjalankan aplikasi secara bebas. Apabila membina pelayan aplikasi berskala, anda boleh menggunakan VPS untuk memperuntukkan dan mengurus pelayan maya untuk berbilang aplikasi.

Empat Langkah untuk membina pelayan aplikasi berskala dengan cepat:

  1. Beli VPS
    Pertama, anda perlu membeli VPS Anda boleh memilih penyedia VPS yang terkenal, seperti Alibaba Cloud, Tencent Cloud, dll. Pilih konfigurasi yang sesuai dengan keperluan anda dan beli satu atau lebih VPS.
  2. Pasang NGINX
    Log masuk ke VPS dan pasang NGINX melalui alat pengurusan pakej (seperti apt, yum). Selepas pemasangan selesai, jalankan arahan berikut untuk memulakan perkhidmatan NGINX:
sudo systemctl start nginx
Salin selepas log masuk
  1. Sediakan proksi terbalik NGINX
    Edit fail konfigurasi NGINX /etc/nginx/sites-available/default , tambah kandungan berikut dan tambah klien Majukan permintaan ke pelayan aplikasi bahagian belakang: /etc/nginx/sites-available/default,添加以下内容,将客户端的请求转发到后端的应用服务器:
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;
    }
}
Salin selepas log masuk

保存并退出配置文件,然后重新加载 NGINX 配置:

sudo systemctl reload nginx
Salin selepas log masuk
Salin selepas log masuk
  1. 安装 Node.js 和 PM2
    使用包管理工具安装 Node.js,并全局安装 PM2。安装完成后,进入应用程序的根目录,执行以下命令启动应用程序:
pm2 start app.js
Salin selepas log masuk

应用程序现在会在后台运行,并由 PM2 进程管理工具监控。可以使用以下命令查看应用程序的状态:

pm2 list
Salin selepas log masuk
  1. 添加更多的应用程序
    如果要添加更多的应用程序,可以在不同的端口上启动多个应用程序进程。例如,要添加第二个应用程序,可以执行以下命令:
pm2 start app2.js
Salin selepas log masuk
  1. 配置负载均衡器
    如果希望将请求分发到不同的后端应用服务器,可以使用负载均衡器来实现。可以使用 NGINX 的 upstream 模块来配置负载均衡。编辑 NGINX 配置文件 /etc/nginx/sites-available/default
  2. upstream backend {
        server localhost:3000;
        server localhost:3001;
        # 添加更多的后端服务器
    }
    
    server {
        listen 80;
        server_name example.com;
    
        location / {
            proxy_pass http://backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    Salin selepas log masuk
Simpan dan keluar dari fail konfigurasi, kemudian muat semula konfigurasi NGINX:

sudo systemctl reload nginx
Salin selepas log masuk
Salin selepas log masuk
    Pasang Nod. js dan PM2

    Gunakan alat pengurusan pakej untuk memasang Node.js dan memasang PM2 secara global. Selepas pemasangan selesai, pergi ke direktori akar aplikasi dan laksanakan arahan berikut untuk memulakan aplikasi:

    rrreee
    Aplikasi kini akan berjalan di latar belakang dan dipantau oleh alat pengurusan proses PM2. Anda boleh melihat status aplikasi menggunakan arahan berikut:

    rrreee
      🎜Tambah lebih banyak aplikasi🎜Jika anda ingin menambah lebih banyak aplikasi, anda boleh memulakan berbilang proses aplikasi pada port yang berbeza. Sebagai contoh, untuk menambah aplikasi kedua, anda boleh melaksanakan arahan berikut: 🎜🎜rrreee
        🎜Konfigurasikan pengimbang beban🎜Jika anda ingin mengedarkan permintaan kepada pelayan aplikasi bahagian belakang yang berbeza, anda boleh menggunakan beban pengimbang untuk dicapai. Pengimbangan beban boleh dikonfigurasikan menggunakan modul hulu NGINX. Edit fail konfigurasi NGINX /etc/nginx/sites-available/default dan tambahkan yang berikut: 🎜🎜rrreee🎜Simpan dan keluar dari fail konfigurasi, kemudian muat semula konfigurasi NGINX: 🎜rrreee🎜Sekarang, NGINX akan meminta Edarkan kepada pelayan aplikasi bahagian belakang yang berbeza untuk mencapai pengimbangan beban. 🎜🎜Kesimpulan: 🎜Dengan menggabungkan NGINX, PM2 dan VPS, anda boleh membina pelayan aplikasi berskala dengan cepat. NGINX menyediakan fungsi pemprosesan permintaan dan pengimbangan beban berprestasi tinggi, PM2 menyediakan fungsi pengurusan dan pemantauan aplikasi, dan VPS menyediakan persekitaran maya untuk menjalankan aplikasi secara bebas. Saya harap contoh kod yang disediakan dalam artikel ini akan membantu dalam membina pelayan aplikasi berskala. 🎜

Atas ialah kandungan terperinci NGINX PM2 VPS: Bina pelayan aplikasi berskala dengan cepat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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