Rumah Operasi dan penyelenggaraan Nginx Cara menggunakan NGINX dan PM2 untuk mengoptimumkan pengurusan sumber sistem pelayan VPS

Cara menggunakan NGINX dan PM2 untuk mengoptimumkan pengurusan sumber sistem pelayan VPS

Sep 26, 2023 am 09:09 AM
nginx (pelayan web) pm (pengurus proses) Pengoptimuman (pengurusan sumber sistem)

Cara menggunakan NGINX dan PM2 untuk mengoptimumkan pengurusan sumber sistem pelayan VPS

Cara menggunakan NGINX dan PM2 untuk mengoptimumkan pengurusan sumber sistem pelayan VPS

Kata Pengantar:
Dalam aplikasi Internet moden, pelayan adalah infrastruktur penting untuk menjalankan perniagaan. Untuk menggunakan sumber pelayan dengan lebih cekap dan meningkatkan prestasi dan kestabilan aplikasi, kami boleh menggunakan dua alat NGINX dan PM2 untuk mengurus dan mengoptimumkan sumber sistem. Artikel ini akan memperkenalkan cara menggunakan NGINX dan PM2 untuk mengoptimumkan pengurusan sumber sistem pelayan VPS dan menyediakan beberapa contoh kod khusus.

1. Apakah itu NGINX dan PM2

  1. NGINX (sebutan enjin x) ialah pelayan proksi HTTP dan terbalik yang berprestasi tinggi yang juga boleh digunakan sebagai pelayan proksi mel. Ia mempunyai kelebihan penggunaan sumber yang kecil, tindak balas yang cepat, dan konkurensi yang tinggi Ia digunakan secara meluas dalam membina laman web statik, pengimbangan beban, pecutan cache, dll.
  2. PM2 ialah pengurus proses untuk mengurus aplikasi Node.js. Ia boleh membantu kami mengurus dan memantau status berjalan aplikasi Node.js, dan menyediakan mula semula automatik, pengimbangan beban dan fungsi lain untuk meningkatkan kestabilan dan prestasi aplikasi.

2. Gunakan NGINX dan PM2 untuk mengoptimumkan pengurusan sumber sistem pelayan VPS

  1. Pasang dan konfigurasikan NGINX

(1) Pasang NGINX
Lakukan arahan berikut pada pelayan VPS untuk memasang NGINXree:

sudo apt-get update
sudo apt-get install nginx
: (2) Konfigurasi NGINX

Edit fail /etc/nginx/sites-available/default dan konfigurasikan direktori akar dan nombor port tapak web sebagai maklumat yang berkaitan untuk aplikasi anda:

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;
    }
}
/etc/nginx/sites-available/default文件,将网站的根目录和端口号配置为你的应用程序的相关信息:

sudo service nginx restart

保存并退出。

(3)重启NGINX
执行以下命令来重启NGINX服务:

sudo npm install pm2 -g
  1. 使用PM2管理Node.js应用程序

(1)安装PM2
在VPS服务器上执行以下命令来安装PM2:

pm2 start app.js

(2)启动应用程序
在应用程序的根目录下执行以下命令来启动应用程序:

module.exports = {
  apps: [
    {
      name: 'my-app',
      script: 'app.js',
      instances: 'max',
      exec_mode: 'cluster',
      autorestart: true,
      watch: false,
      max_memory_restart: '1G'
    }
  ]
};

其中,app.js是你的Node.js应用程序的入口文件。

(3)配置PM2的自动重启和负载均衡
在应用程序的根目录下创建一个ecosystem.config.js文件,内容如下:

pm2 start ecosystem.config.js

其中,my-app是你的应用程序的名称,app.jsSimpan dan keluar.

(3) Mulakan semula NGINX

Laksanakan arahan berikut untuk memulakan semula perkhidmatan NGINX:
rrreee

    Gunakan PM2 untuk menguruskan aplikasi Node.js

    (1) Pasang PM2

    Laksanakan yang berikut pada pelayan VPS Perintah untuk memasang PM2:

    rrreee

    (2) Mulakan aplikasi 🎜 Jalankan arahan berikut dalam direktori akar aplikasi untuk memulakan aplikasi: 🎜rrreee🎜 Antaranya, app.js ialah fail kemasukan aplikasi Node. 🎜🎜(3) Konfigurasikan mula semula automatik PM2 dan imbangan beban🎜Buat fail ecosystem.config.js dalam direktori akar aplikasi dengan kandungan berikut: 🎜rrreee🎜Antaranya, my - app ialah nama aplikasi anda dan app.js ialah fail kemasukan aplikasi anda. 🎜Simpan dan keluar. 🎜🎜 (4) Mulakan PM2 dan gunakan konfigurasi 🎜 Ekskutasi arahan berikut dalam direktori akar permohonan untuk memulakan PM2 dan memohon konfigurasi: 🎜rrreeee🎜iii. mengoptimumkan sumber Sistem pelayan VPS. Sebagai pelayan proksi terbalik, NGINX boleh menyediakan fungsi seperti pengimbangan beban dan pecutan cache, dengan itu meningkatkan prestasi pelayan. Sebagai pengurus proses Node.js, PM2 boleh membantu kami mengurus dan memantau aplikasi Node.js, dan menyediakan fungsi seperti mula semula automatik dan imbangan beban, dengan itu meningkatkan kestabilan dan prestasi aplikasi. 🎜🎜Saya harap artikel ini dapat membantu pembaca lebih memahami cara menggunakan NGINX dan PM2 untuk mengoptimumkan pengurusan sumber sistem pelayan VPS, dan memberikan beberapa contoh kod khusus yang pembaca boleh konfigurasikan dan laraskan mengikut keperluan dan keadaan sebenar mereka sendiri. 🎜

Atas ialah kandungan terperinci Cara menggunakan NGINX dan PM2 untuk mengoptimumkan pengurusan sumber sistem pelayan VPS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Skop pembolehubah PHP dijelaskan
1 bulan yang lalu By 百草
Mengulas kod dalam php
4 minggu yang lalu By 百草
Petua untuk menulis komen php
4 minggu yang lalu By 百草

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1510
276
Bagaimana untuk menyediakan blok pelayan Nginx (host maya)? Bagaimana untuk menyediakan blok pelayan Nginx (host maya)? Jul 19, 2025 am 02:00 AM

TosetupannginxServerBlock, FirstUnderstRuctureUsureUsingTheserverdirectiveWithSettingsLikeListen, Server_name, andlocation; Next, createadirectoryStructureForeforeforeforeforeforeforyoursiteSuchas/var/www/example.com/htmlandSetPerpersmissions;

Bagaimana untuk menyekat ejen pengguna tertentu? Bagaimana untuk menyekat ejen pengguna tertentu? Jul 26, 2025 am 08:20 AM

Untuk menyekat ejen pengguna tertentu, ia boleh dilaksanakan di Nginx, Apache, atau kod (seperti PHP, Python). 1. Dalam nginx, hakim $ http_user_agent oleh jika dan kembali 403; 2. Di Apache, gunakan setenvifnocase dan menafikan untuk menafikan akses; 3. Hakim pengguna-ejen dalam program dan memintas permintaan. UAS biasa yang perlu disekat termasuk python-requests, curl, kosong UA, dan lain-lain. Memilih kaedah yang sesuai dapat mengurangkan trafik sampah dan risiko keselamatan.

Bagaimana untuk melaksanakan jika pernyataan dalam konfigurasi Nginx (dan mengapa ia 'jahat')? Bagaimana untuk melaksanakan jika pernyataan dalam konfigurasi Nginx (dan mengapa ia 'jahat')? Jul 16, 2025 am 12:30 AM

Kenyataan IF Nginx adalah terhad dan mempunyai perangkap, yang secara rasmi dipanggil "Ifisevil". Penggunaan asasnya adalah untuk melaksanakan arahan mengikut syarat-syarat dalam pelayan atau blok lokasi, seperti menghalang agen pengguna tertentu atau mengalihkan nama domain; tetapi masalah termasuk: 1. Beberapa arahan seperti proxy_pass berkelakuan tidak normal dalam IF; 2. Perintah pelaksanaan bergantung kepada keutamaan dan bukannya perintah kod, dan logik mungkin tidak memenuhi jangkaan; 3. Pelbagai jika syarat dinilai secara bebas, yang boleh membawa kepada konflik atau menimpa operasi, seperti menulis semula yang diabaikan oleh pulangan; Alternatif yang disyorkan ialah menggunakan modul peta, lokasi pelbagai lapisan yang sepadan atau menyerahkan logik kompleks ke backend; Ringkasnya, jika sesuai untuk penghakiman mudah dan senario kompleks

Bagaimana untuk menyampaikan fail video MP4 dengan cekap dengan modul MP4? Bagaimana untuk menyampaikan fail video MP4 dengan cekap dengan modul MP4? Jul 20, 2025 am 04:01 AM

Untuk menyediakan fail video MP4 dengan cekap, anda perlu membolehkan permintaan pelbagai byte, mengoptimumkan struktur fail, pengekodan rasional dan pemampatan, dan mengadopsi caching strategik. Pertama, membolehkan permintaan Byte Range (menerima: bytes) untuk menyokong lompatan video, siaran terganggu dan aliran kadar bit adaptif; Kedua, gunakan alat seperti QT-FastStart untuk memindahkan atom Moov ke permulaan fail untuk mencapai bermain bawah; Ketiga, gunakan pengekodan H.264/H.265, dengan munasabah menetapkan kadar bit dan membolehkan pengekodan dua lulus untuk mengurangkan saiz fail sambil memastikan kualiti; Akhirnya, dengan menetapkan tajuk kawalan cache jangka panjang dan menggunakan CDN untuk caching tepi, mengurangkan beban pelayan dan meningkatkan kelajuan tindak balas.

Bagaimana untuk menjamin pelayan nginx? Bagaimana untuk menjamin pelayan nginx? Jul 25, 2025 am 01:00 AM

Langkah -langkah utama untuk melindungi keselamatan pelayan Nginx termasuk: 1. Konfigurasi sambungan HTTPS yang disulitkan, gunakan Sijil Percuma Let'sEncrypt dan mengkonfigurasi secara automatiknya melalui CertBot, menubuhkan lompatan paksa dan suite penyulitan yang sesuai, dan membolehkan pembaharuan automatik; 2. Mengehadkan keizinan akses, melindungi laluan sensitif melalui kawalan IP dan pengesahan BasicAuth; 3. Matikan kebocoran maklumat, sembunyikan nombor versi, melarang pelayaran direktori, dan menyesuaikan halaman ralat untuk mengurangkan permukaan serangan.

Bagaimana cara menggunakan nginx sebagai pengimbang beban HTTP yang mudah? Bagaimana cara menggunakan nginx sebagai pengimbang beban HTTP yang mudah? Jul 21, 2025 am 01:48 AM

Bagaimana untuk melaksanakan pengimbangan beban http menggunakan nginx? Jawapannya adalah seperti berikut: 1. Gunakan modul hulu untuk menentukan kumpulan pelayan backend dan hantar permintaan melalui proxy_pass di pelayan atau lokasi; 2. Pengundian sokongan, pengundian wajaran, sambungan minimum dan dasar hashing IP; 3. Anda boleh mengkonfigurasi, sandaran, fail_timeout dan max_fails parameter untuk meningkatkan kestabilan; 4. Selepas mengubah suai konfigurasi, laksanakan sintaks semak NGINX-T dan gunakan Nginx-Sreload untuk berkuatkuasa. Contohnya, struktur konfigurasi asas merangkumi tiga nod backend menggunakan pengundian untuk mengedarkan lalu lintas secara lalai, sementara pengundian berwajaran membolehkan peruntukan permintaan mengikut berat, paling tidak_conn akan menghantar permintaan tersebut

Mengapa nginx tidak akan bermula dan bagaimana saya dapat mencari ralat? Mengapa nginx tidak akan bermula dan bagaimana saya dapat mencari ralat? Jul 18, 2025 am 02:24 AM

Kegagalan Nginx untuk memulakan biasanya disebabkan oleh kesilapan konfigurasi, konflik pelabuhan, atau isu kebenaran. Mula-mula semak log ralat Nginx, gunakan arahan Sudotail-f/var/log/nginx/error.log untuk melihat maklumat ralat terkini dalam masa nyata; Kedua, uji sintaks fail konfigurasi, jalankan Sudonginx-T untuk memastikan tiada kesilapan sintaks; kemudian sahkan sama ada proses lain menduduki port 80 atau 443, dan gunakan Sudonetstat-Tulpn | grep ': 80 \ |: 443' untuk mengesan dan mengendalikan konflik; Akhirnya sahkan keizinan dan pemilikan fail untuk memastikan bahawa NGINX mempunyai kebenaran untuk mengakses direktori dan fail yang berkaitan.

Bagaimana cara menggunakan kad liar atau ungkapan biasa dalam server_name? Bagaimana cara menggunakan kad liar atau ungkapan biasa dalam server_name? Jul 23, 2025 am 01:43 AM

Apabila menggunakan server_name dalam nginx untuk memadankan pelbagai domain atau subdomain, ia boleh dicapai melalui wildcards dan ungkapan biasa. 1. Apabila menggunakan Wildcards, asterisk hanya boleh digunakan untuk permulaan atau berakhir, dan mesti menjadi sempadan label lengkap. Sebagai contoh, .example.com boleh memadankan subdomain peringkat pertama tetapi tidak termasuk domain akar atau subdomain pelbagai peringkat. Jika anda perlu memadankan kedua-dua domain akar dan subdomain peringkat pertama, ia harus ditulis sebagai example.com*.example.com; 2. Apabila menggunakan ungkapan biasa, anda mesti bermula dengan ~, seperti ~^\ w. (Dev | test) $ boleh memadankan nama domain yang berakhir dengan .dev atau .test, dan panggilan menangkap panggilan kumpulan; 3. Keutamaan yang sepadan adalah nama tepat> awalan wildcard terpanjang> akhiran wildcard terpanjang &

See all articles