NGINX PM2 VPS: Bina seni bina perkhidmatan aplikasi yang sangat tersedia dan berskala
Dengan perkembangan pesat teknologi Internet, membina yang sangat tersedia dan seni bina perkhidmatan aplikasi berskala Seni bina perkhidmatan aplikasi berskala menjadi semakin penting. NGINX, PM2 dan VPS ialah alat yang biasa digunakan yang boleh membantu kami mencapai matlamat ini. Artikel ini akan memperkenalkan cara menggunakan NGINX, PM2 dan VPS untuk membina seni bina perkhidmatan aplikasi yang sangat tersedia dan berskala, dan menyediakan contoh kod khusus.
1. NGINX: Pelayan proksi songsang berprestasi tinggi
NGINX ialah pelayan proksi songsang berprestasi tinggi yang boleh digunakan untuk Imbangan beban , sumber statik cache, terminal SSL dan fungsi lain. Berikut ialah contoh konfigurasi NGINX yang mudah untuk memajukan semua trafik ke pelayan aplikasi bahagian belakang:
http { upstream backend { server backend1.example.com; server backend2.example.com; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; } } }
Dalam konfigurasi di atas, kami mentakrifkan yang dipanggil Kumpulan pelayan bahagian belakang mengandungi berbilang pelayan aplikasi bahagian belakang. Arahan proxy_pass
memajukan trafik ke kumpulan pelayan bahagian belakang. backend
的后端服务器组,包含了多个后端应用服务器。proxy_pass
指令将流量转发到后端服务器组。
2. PM2:进程管理工具
PM2是一个强大的进程管理工具,可以帮助我们管理和监控Node.js应用。以下是一个简单的PM2配置示例:
{ "apps": [{ "name": "my-app", "script": "app.js", "instances": "max", "exec_mode": "cluster", "error_file": "logs/error.log", "out_file": "logs/out.log", "log_date_format": "YYYY-MM-DD HH:mm:ss", "env": { "NODE_ENV": "production" } }] }
在上述配置中,我们定义了一个名为my-app
的应用,并指定了应用的主文件app.js
。instances
指定了应用的实例数,exec_mode
指定了应用的执行模式。此外,我们还可以配置应用的日志文件、环境变量等。
3. VPS:虚拟专用服务器
VPS是一种虚拟化技术,可以将一台物理服务器划分为多个虚拟专用服务器。VPS提供了独立的资源,可以满足应用的需求。以下是一个简单的VPS配置示例:
{ "name": "my-vps", "provider": "digitalocean", "region": "nyc3", "size": "s-1vcpu-1gb", "ssh_keys": ["my-public-key"], "backups": false }
在上述配置中,我们定义了一个名为my-vps
2. PM2: Alat Pengurusan Proses
PM2 ialah alat pengurusan proses yang berkuasa yang boleh membantu kami mengurus dan memantau aplikasi Node.js . Berikut ialah contoh konfigurasi PM2 yang mudah:+---------+ | NGINX | +---------+ | +---------+ | PM2 | +---------+ | +---------+ | VPS | +---------+ | +---------+ | APP | +---------+
my-app
dan menentukan fail utama aplikasi< code>app.js . instance
menentukan bilangan tika aplikasi dan exec_mode
menentukan mod pelaksanaan aplikasi. Selain itu, kami juga boleh mengkonfigurasi fail log aplikasi, pembolehubah persekitaran, dsb. 3. VPS: Pelayan Peribadi Maya
VPS ialah teknologi virtualisasi yang boleh membahagikan pelayan fizikal kepada beberapa pelayan maya khusus. VPS menyediakan sumber bebas untuk memenuhi keperluan aplikasi. Berikut ialah contoh konfigurasi VPS mudah:# 安装 NGINX sudo apt-get install nginx # 安装 PM2 sudo npm install -g pm2 # 创建 NGINX 配置文件 sudo nano /etc/nginx/conf.d/my-app.conf
my-vps
dan menentukan penyedia VPS, Konfigurasi wilayah, saiz, Kunci SSH, sandaran, dsb. 4 Bina seni bina perkhidmatan aplikasi yang sangat tersedia dan berskala
Untuk membina seni bina perkhidmatan aplikasi yang tersedia dan berskala, kami boleh Menggabungkan NGINX. , PM2 dan VPS. Berikut ialah gambar rajah seni bina perkhidmatan aplikasi mudah:upstream backend { server 127.0.0.1:3000; server 127.0.0.1:3001; } server { listen 80; server_name my-app.com; location / { proxy_pass http://backend; } }
5. Contoh kod khusus
Berikut ialah contoh kod khusus yang menunjukkan cara menggunakan NGINX, PM2 dan VPS untuk membina ketersediaan tinggi dan Seni bina perkhidmatan aplikasi boleh skala. Pertama, pasang NGINX dan PM2 pada VPS, dan konfigurasikan proksi terbalik NGINX: #🎜🎜## 在 VPS 上克隆应用代码 git clone https://github.com/my-app.git # 进入应用目录 cd my-app # 安装应用依赖 npm install # 启动应用 pm2 start app.js -i max
sudo systemctl restart nginx
Atas ialah kandungan terperinci NGINX PM2 VPS: Bina seni bina perkhidmatan aplikasi yang sangat tersedia dan berskala. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!