Rumah hujung hadapan web Soal Jawab bahagian hadapan Bagaimana untuk menggunakan nginx nodejs

Bagaimana untuk menggunakan nginx nodejs

Apr 26, 2023 am 09:07 AM

Ikhtisar

Dalam pembangunan aplikasi web moden, Nginx dan Node.js ialah dua alat yang sangat penting Sebagai pelayan web berprestasi tinggi, Nginx digunakan terutamanya untuk memproses permintaan HTTP dan fail statik .js digunakan secara meluas untuk membina aplikasi web berprestasi tinggi dan API sisi pelayan, dan digemari kerana model IO tak segerak, tidak menyekat dan ekosistem modul pihak ketiga yang kaya.

Dalam artikel ini, kami akan memperkenalkan cara untuk menggunakan Nginx dan Node.js pada pelayan Linux pada masa yang sama, dan menggunakan fungsi proksi terbalik Nginx untuk meningkatkan prestasi dan kebolehpercayaan aplikasi Web kami, dan akhirnya melaksanakan perkhidmatan Web yang Cekap dan stabil.

Persediaan

Untuk melengkapkan tutorial ini, kami memerlukan pelayan yang menjalankan sistem pengendalian Ubuntu 18.04 LTS. Kami juga perlu memasang versi terkini Node.js dan Nginx.

Pasang Node.js

Mula-mula, kami perlu memasang Node.js untuk pelayan kami. Kami akan menggunakan nvm (Pengurus Versi Node) untuk mengurus versi Node.js kami kerana ia memudahkan untuk memasang dan bertukar antara versi Node.js yang berbeza.

  1. Pasang nvm

Mula-mula, kita perlu memuat turun skrip pemasangan nvm menggunakan arahan curl:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.36.0/install.sh | bash
Salin selepas log masuk

Kemudian, kita jalankan perkara berikut arahan untuk menggunakan perubahan konfigurasi:

source ~/.bashrc
Salin selepas log masuk

nvm kini dipasang pada pelayan kami.

  1. Pasang Node.js

Kami boleh menyemak versi Node.js yang tersedia menggunakan arahan berikut:

nvm ls-remote
Salin selepas log masuk

Kemudian, kami memilih satu Versi Node.js yang ingin kami pasang dan gunakan arahan berikut untuk memasangnya:

nvm install 14.16.1  // 这里我们选择的是 v14.16.1 版本
Salin selepas log masuk

Kini, kami telah berjaya memasang Node.js.

Pasang Nginx

Seterusnya, kita perlu memasang pelayan Nginx untuk mengendalikan permintaan HTTP dan membaca fail statik. Pada Ubuntu 18.04, kita boleh menggunakan arahan berikut untuk memasang Nginx:

sudo apt-get update
sudo apt-get install nginx
Salin selepas log masuk

Selepas pemasangan selesai, kita boleh menggunakan arahan berikut untuk memulakan perkhidmatan Nginx:

sudo systemctl start nginx
Salin selepas log masuk

Kemudian, kita boleh Gunakan arahan berikut untuk menyemak status perkhidmatan Nginx:

sudo systemctl status nginx
Salin selepas log masuk

Jika perkhidmatan Nginx telah berjaya dimulakan, kita sepatutnya dapat mengakses alamat IP awam pelayan kami dari penyemak imbas dan melihat lalai Nginx halaman selamat datang.

Konfigurasikan proksi terbalik Nginx

Kini, kami telah berjaya memasang Nginx dan Node.js. Seterusnya, kami akan menggunakan ciri proksi terbalik Nginx untuk memajukan permintaan HTTP luaran ke nombor port yang ditentukan pada pelayan Node.js.

  1. Edit fail konfigurasi Nginx

Edit fail konfigurasi Nginx /etc/nginx/nginx.conf, cari nod pelayan dalam segmen http dan tambah kod berikut pada ia :

upstream nodejs_backend {
    server    127.0.0.1:3000;  # 这里的端口号需要和我们 Node.js 端口号一致
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    
    location / {
        proxy_pass http://nodejs_backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
Salin selepas log masuk

Di sini kami menggunakan modul huluan Nginx untuk mentakrifkan pelayan huluan bernama nodejs_backend, yang menghala ke 127.0.0.1:3000, iaitu nombor port pelayan Node.js yang akan kami jalankan kemudian. .

Seterusnya, kami mentakrifkan hos maya bernama default_server, yang mendengar pada port 80 dan memajukan permintaan HTTP ke nodejs_backend. Tiga daripada parameter proxy_set_header digunakan untuk menetapkan beberapa maklumat tambahan untuk permintaan pemajuan.

  1. Mulakan semula perkhidmatan Nginx

Selepas melengkapkan langkah di atas, kita perlu memulakan semula perkhidmatan Nginx untuk menjadikannya berkesan:

sudo systemctl restart nginx
Salin selepas log masuk
  1. Jalankan Perkhidmatan Node.js

Kini, kami telah berjaya mengkonfigurasi fungsi proksi terbalik Nginx dan bersedia untuk memulakan perkhidmatan pada pelayan Node.js untuk menerima permintaan daripada Nginx.

Buat fail bernama app.js dan mulakan pelayan http mudah menggunakan kod berikut:

const http = require('http');
const server = http.createServer((req, res) => {
  res.writeHead(200);
  res.end('Hello, World!');
});
server.listen(3000, () => {
  console.log('Server running on http://127.0.0.1:3000/');
});
Salin selepas log masuk

Sekarang, kami mulakan Apl Node.js kami menggunakan arahan berikut:

node app.js
Salin selepas log masuk

Selepas berjalan dengan jayanya, kami boleh mengakses alamat IP awam pelayan kami dari penyemak imbas dan melihat aplikasi Node.js kami mengeluarkan "Hello, World!"

Ringkasan

Tahniah, kami telah menyelesaikan tutorial menggunakan Nginx dan Node.js secara serentak pada pelayan Linux. Dengan menggunakan ciri proksi terbalik Nginx untuk memajukan permintaan HTTP, kami boleh menulis aplikasi web dan API dalam Node.js, dan menggunakan Nginx untuk mengendalikan fail statik dan pengimbangan beban, dengan itu meningkatkan prestasi dan kebolehpercayaan aplikasi web.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan nginx nodejs. 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

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.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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!

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)

Peranan React dalam HTML: Meningkatkan Pengalaman Pengguna Peranan React dalam HTML: Meningkatkan Pengalaman Pengguna Apr 09, 2025 am 12:11 AM

React menggabungkan JSX dan HTML untuk meningkatkan pengalaman pengguna. 1) JSX membenamkan HTML untuk menjadikan pembangunan lebih intuitif. 2) Mekanisme DOM maya mengoptimumkan prestasi dan mengurangkan operasi DOM. 3) UI pengurusan berasaskan komponen untuk meningkatkan kebolehkerjaan. 4) Pengurusan negeri dan pemprosesan acara meningkatkan interaktiviti.

Bagaimana anda menyambungkan komponen React ke kedai Redux menggunakan Connect ()? Bagaimana anda menyambungkan komponen React ke kedai Redux menggunakan Connect ()? Mar 21, 2025 pm 06:23 PM

Artikel membincangkan penyambungan komponen reaksi ke kedai redux menggunakan Connect (), menerangkan MapStateToprops, MapdispatchToprops, dan kesan prestasi.

Bagaimana anda menentukan laluan menggunakan & lt; route & gt; komponen? Bagaimana anda menentukan laluan menggunakan & lt; route & gt; komponen? Mar 21, 2025 am 11:47 AM

Artikel ini membincangkan laluan yang menentukan dalam Router React menggunakan & lt; route & gt; Komponen, meliputi prop seperti Path, Component, Render, Children, Exact, dan Routing bersarang.

Apakah batasan sistem kereaktifan Vue 2 berkenaan dengan perubahan array dan objek? Apakah batasan sistem kereaktifan Vue 2 berkenaan dengan perubahan array dan objek? Mar 25, 2025 pm 02:07 PM

Sistem Reaktiviti Vue 2 bergelut dengan tetapan indeks array langsung, pengubahsuaian panjang, dan penambahan/penghapusan harta benda objek. Pemaju boleh menggunakan kaedah mutasi Vue dan vue.set () untuk memastikan kereaktifan.

Apa itu Redux Reducers? Bagaimana mereka mengemas kini negeri? Apa itu Redux Reducers? Bagaimana mereka mengemas kini negeri? Mar 21, 2025 pm 06:21 PM

Redux Reducers adalah fungsi tulen yang mengemas kini keadaan aplikasi berdasarkan tindakan, memastikan kebolehprediksi dan kebolehubahan.

Apakah tindakan redux? Bagaimana anda menghantarnya? Apakah tindakan redux? Bagaimana anda menghantarnya? Mar 21, 2025 pm 06:21 PM

Artikel ini membincangkan tindakan Redux, struktur mereka, dan kaedah penghantaran, termasuk tindakan tak segerak menggunakan Redux Thunk. Ia menekankan amalan terbaik untuk menguruskan jenis tindakan untuk mengekalkan aplikasi berskala dan diselenggarakan.

Apakah faedah menggunakan TypeScript dengan React? Apakah faedah menggunakan TypeScript dengan React? Mar 27, 2025 pm 05:43 PM

TypeScript meningkatkan pembangunan React dengan menyediakan keselamatan jenis, meningkatkan kualiti kod, dan menawarkan sokongan IDE yang lebih baik, dengan itu mengurangkan kesilapan dan meningkatkan kebolehkerjaan.

Komponen React: Membuat unsur -unsur yang boleh diguna semula di HTML Komponen React: Membuat unsur -unsur yang boleh diguna semula di HTML Apr 08, 2025 pm 05:53 PM

Komponen React boleh ditakrifkan oleh fungsi atau kelas, merangkumi logik UI dan menerima data input melalui prop. 1) Tentukan komponen: Gunakan fungsi atau kelas untuk mengembalikan elemen bertindak balas. 2) Rendering Component: React Call Render Kaedah atau Melaksanakan Komponen Fungsi. 3) Komponen multiplexing: Lulus data melalui prop untuk membina UI yang kompleks. Pendekatan kitaran hayat komponen membolehkan logik dilaksanakan pada peringkat yang berbeza, meningkatkan kecekapan pembangunan dan pemeliharaan kod.

See all articles