Rumah > Artikel > hujung hadapan web > nginx plus nodejs untuk membina pelayan imej
Dengan perkembangan Internet, sumber media seperti gambar dan video digunakan dengan lebih meluas. Sebagai pengendali laman web, cara cepat dan stabil menyediakan sumber imej yang besar telah menjadi isu yang mesti dipertimbangkan. Di sini, kami memperkenalkan penyelesaian untuk membina pelayan imej menggunakan nginx dan Node.js untuk menyediakan perkhidmatan imej yang cekap, pantas dan boleh dipercayai.
1. Gambaran keseluruhan pelan
Komponen utama pelan adalah seperti berikut:
Dalam penyelesaian ini, nginx menyediakan perkhidmatan fail statik, dan Node.js berfungsi sebagai pusat pemprosesan, bertanggungjawab untuk memproses penskalaan imej, pemangkasan, penanda air dan operasi lain. Pada masa yang sama, mekanisme caching Redis digunakan untuk mengurangkan bilangan kali Node.js kerap membaca imej dan meningkatkan kelajuan pemprosesan imej dan masa tindak balas.
2. Pelaksanaan penyelesaian
Pasang nginx melalui apt-get:
rreeePasang Node.js dan npm melalui nvm:
sudo apt-get update sudo apt-get install nginx
Pasang Redis melalui apt-get:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash source ~/.bashrc nvm install <node-version>
Buat fail package.json dalam direktori akar projek dan tambah kandungan berikut:
rreeeAntaranya, kami menggunakan Rangka kerja Express mengendalikan permintaan HTTP, perpustakaan Sharp mengendalikan pemprosesan imej dan perpustakaan Redis mengendalikan cache imej.
Buat fail app.js dalam direktori akar projek dan tulis kod berikut:
sudo apt-get update sudo apt-get install redis-server
Dalam kod ini , Kami mula-mula menyambung ke pelayan Redis menggunakan RedisClient. Untuk setiap permintaan, kami mula-mula menyemak sama ada imej itu wujud dalam cache Redis. Jika terdapat imej dalam cache, kami terus membalas permintaan dengan imej dalam cache jika tidak, kami menggunakan kaedah ubah saiz dan jpeg dalam pustaka Sharp untuk memproses imej, menukarnya ke dalam format Penampan dan menyimpannya; dalam cache Redis.
Tambah kandungan berikut dalam fail konfigurasi nginx /etc/nginx/nginx.conf:
rreeeDalam fail konfigurasi , kami menggunakan fungsi proksi terbalik nginx untuk memajukan permintaan imej kepada aplikasi Node.js untuk pemprosesan pasca, dan menggunakan Redis untuk caching imej. Pada masa yang sama, kami mengkonfigurasi cache proksi nginx dan menetapkan tempoh sah cache dan kunci cache. Ini menghalang runtuhan cache dan masalah penembusan cache.
3. Kesan penyelesaian
Melalui penyelesaian di atas, kami telah mencapai perkhidmatan gambar yang boleh dipercayai dan cekap. Kesan utamanya adalah seperti berikut:
Ringkasnya, kami menggunakan penyelesaian yang menggabungkan nginx dan Node.js untuk membina pelayan imej yang cekap dan boleh dipercayai Sambil mencapai perkhidmatan imej berkualiti tinggi, kami juga menyediakan operator tapak web dengan Lebih banyak pilihan.
Atas ialah kandungan terperinci nginx plus nodejs untuk membina pelayan imej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!