Cara mengkonfigurasi pemampatan GZip apabila tapak Node.js menggunakan Nginx sebagai proksi terbalik

PHPz
Lepaskan: 2023-05-25 19:13:04
ke hadapan
1320 orang telah melayarinya

Untuk tapak yang dibangunkan dengan node.js, jika anda turut menggunakan nginx untuk melaksanakan proksi terbalik.

Kemudian anda boleh melaksanakan pemampatan gzip dengan mudah pada bahagian pelayan untuk menjadikan penyemakan imbas tapak lebih lancar.

Syarat Prasyarat: node.js + proksi terbalik nginx.

node.js Kerja diperlukan:

Express 4.0 atau ke bawah:

app.use(express.compress()); //主要是这句
app.use(express.json()); 
app.use(express.urlencoded()); 
app.use(express.bodyparser()); 
app.use(express.methodoverride()); 
app.use(express.cookieparser());
Salin selepas log masuk

Untuk memampatkan semua permintaan, jadi mampatkan diletakkan di atas.

Express 4.0 atau ke atas (termasuk 4.0)

var compress = require('compression');
app.use(compress());
Salin selepas log masuk

4.0 atau ke atas mengeluarkan perisian tengah secara bebas.

Jadi anda perlu meminta(' pemampatan terlebih dahulu ')

Klik di sini untuk melihat perbezaan utama antara express 3.5 dan express 4.0

Kerja yang perlu dilakukan oleh node.js adalah semudah itu.

nginx perlu lakukan :

Buka fail konfigurasi nginx, ubah suai konfigurasi dan hidupkan suis gzip

nano /usr/local/nginx/conf/nginx.conf
Salin selepas log masuk

Nginx pada pelayan anda sendiri mungkin tidak dipasang dalam direktori /usr/local/, jadi cari fail konfigurasi mengikut direktori pemasangan anda sendiri nginx.conf

Tambah konfigurasi berikut pada nod konfigurasi http:

gzip on;
    gzip_min_length 1k;
    gzip_buffers   4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types    text/plain application/x-javascript text/css application/xml;
    gzip_vary on;

http (
    //放上面配置节点  
)
Salin selepas log masuk

Apakah maksud setiap item konfigurasi?

1) gzip

sintaks :gzip hidup/mati

Nilai lalai: mati

Skop: http, pelayan, lokasi

Penerangan: Hidupkan atau matikan modul gzip, gunakan di sini untuk bermaksud mula

2) gzip_min_length

Sintaks: gzip_min_length length

Nilai lalai: gzip_min_length 0

pelayan, lokasi

Penerangan: Tetapkan bilangan bait minimum halaman yang dibenarkan untuk dimampatkan Bilangan bait halaman diperoleh daripada panjang kandungan dalam pengepala. Nilai lalai ialah 0, yang memampatkan halaman tanpa mengira saiznya. Adalah disyorkan untuk menetapkan bilangan bait menjadi lebih besar daripada 1k Jika kurang daripada 1k, ia mungkin menjadi lebih dan lebih dimampatkan. |

3) gzip_buffers

Sintaks: saiz nombor gzip_buffers

Nilai lalai: gzip_buffers 4 4k/8k

Skop<: http, pelayan, lokasi >

Penerangan: Tetapkan sistem untuk mendapatkan beberapa unit cache untuk menyimpan strim data hasil mampatan gzip. 4 16k bermaksud memohon memori dalam unit 16k dan 4 kali ganda saiz data asal dalam unit 16k.

4) gzip_comp_level

Sintaks: gzip_comp_level 1..9

Nilai lalai: gzip_comp_level 1

Skop: http, pelayan, lokasi 🎜>Penerangan: nisbah mampatan gzip, 1 mempunyai nisbah mampatan terkecil dan kelajuan pemprosesan terpantas, 9 mempunyai nisbah mampatan terbesar tetapi pemprosesan paling perlahan (penghantaran pantas tetapi menggunakan lebih banyak CPU). Di sini ia ditetapkan kepada 5.

5) gzip_types

Sintaks: gzip_types mime-type [mime-type ...]

Nilai lalai: gzip_types text/html

Skop : http, pelayan, lokasi

Penerangan: Padankan jenis mim untuk pemampatan, (sama ada dinyatakan atau tidak) jenis "teks/html" akan sentiasa dimampatkan. Ini ditetapkan kepada aplikasi/x-javascript text/css application/xml.

Terdapat jenis statik yang biasa digunakan, bergantung pada situasi yang anda perlukan untuk memampatkan:

text/html
text/plain
text/css
application/x-javascript
text/javascript
application/xml
Salin selepas log masuk

ok, pelayan asas telah dikonfigurasikan di sini, dan nginx hanya perlu dimuat semula.

Mari kita uji cara menggunakan curl untuk menguji bahawa pelayan telah menghidupkan gzip (syarat ujian ialah gzip_types lalai, iaitu, hanya text.html dimampatkan, jenis lain tidak dimampatkan):

Semak sama ada ia dihidupkan gzip, pelanggan perlu menambah: maklumat pengepala "accept-encoding: gzip, deflate".

$ curl -i -h "accept-encoding: gzip, deflate" "http://localhost/tag.php"
Salin selepas log masuk
http/1.1 200 ok
server: nginx
date: thu, 08 mar 2012 07:23:46 gmt
content-type: text/html
connection: close
content-encoding: gzip
Salin selepas log masuk
$ curl -i -h "accept-encoding: gzip, deflate" "http://localhost/style.css"
Salin selepas log masuk
Anda boleh melihatnya. Contoh kedua tidak dimampatkan.

Atas ialah kandungan terperinci Cara mengkonfigurasi pemampatan GZip apabila tapak Node.js menggunakan Nginx sebagai proksi terbalik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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