


Bagaimana untuk mengkonfigurasi dan mengoptimumkan FastCGI dalam Nginx
fastcgi:
fastcgi dibangunkan dan ditambah baik daripada cgi. Kelemahan utama kaedah antara muka cgi tradisional ialah prestasi yang lemah, kerana setiap kali pelayan http menghadapi program dinamik, penghurai skrip perlu dimulakan semula untuk melakukan penghuraian, dan kemudian hasilnya dikembalikan kepada pelayan http. Ini hampir tidak tersedia apabila berurusan dengan akses serentak yang tinggi. Di samping itu, kaedah antara muka cgi tradisional mempunyai keselamatan yang lemah dan jarang digunakan sekarang.
Antara muka fastcgi menggunakan struktur c/s, yang boleh memisahkan pelayan http dan pelayan parsing skrip, dan memulakan satu atau lebih daemon parsing skrip pada pelayan parsing skrip. Setiap kali pelayan http menemui program dinamik, ia boleh dihantar terus ke proses fastcgi untuk pelaksanaan, dan kemudian hasilnya dikembalikan kepada penyemak imbas. Kaedah ini membolehkan pelayan http memproses permintaan statik secara eksklusif atau mengembalikan hasil pelayan skrip dinamik kepada klien, yang meningkatkan prestasi keseluruhan sistem aplikasi.
nginx tidak menyokong panggilan terus atau menghurai program luaran Semua program luaran (termasuk PHP) mesti dipanggil melalui antara muka fastcgi. Antara muka fastcgi ialah soket di bawah Linux (soket ini boleh menjadi soket fail atau soket ip). Untuk memanggil program cgi, pembalut fastcgi juga diperlukan (pembungkus boleh difahami sebagai program yang digunakan untuk memulakan atur cara lain). Apabila nginx menghantar permintaan cgi ke soket ini, melalui antara muka fastcgi, pembungkus menerima permintaan dan kemudian menghasilkan benang baharu ini memanggil jurubahasa atau program luaran untuk memproses skrip dan membaca data pemulangan itu data yang dikembalikan dihantar ke nginx di sepanjang soket tetap melalui antara muka fastcgi, akhirnya, nginx menghantar data yang dikembalikan kepada klien Ini adalah keseluruhan proses operasi nginx+fastcgi. Proses terperinci adalah seperti yang ditunjukkan dalam rajah.
Contoh:
Contoh konfigurasi optimum parameter fastcgi dalam nginx
Selepas mengkonfigurasi nginx+fastcgi, untuk memastikan operasi berkelajuan tinggi dan stabil bagi persekitaran php di bawah nginx, anda perlu menambah beberapa arahan pengoptimuman fastcgi. Contoh pengoptimuman diberikan di bawah. Tambahkan kod berikut pada tahap http dalam fail konfigurasi utama nginx.
fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2 keys_zone=test:10m inactive=5m; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k; fastcgi_cache test; fastcgi_cache_valid 200 302 1h; fastcgi_cache_valid 301 1d; fastcgi_cache_valid any 1m;
Maksud kod di atas:
Dalam baris pertama kod, laluan fail, tahap struktur direktori, masa penyimpanan kawasan kata kunci dan data bukan aktiviti masa pemadaman.
fastcgi_connect_timeout menentukan tamat masa untuk menyambung ke fastcgi hujung belakang.
fastcgi_send_timeout menentukan tamat masa untuk menghantar permintaan ke fastcgi Nilai ini ialah tamat masa untuk menghantar permintaan ke fastcgi selepas dua jabat tangan selesai.
fastcgi_read_timeout menentukan tamat masa untuk menerima respons fastcgi Nilai ini ialah tamat masa untuk menerima respons fastcgi selepas dua jabat tangan selesai.
fastcgi_buffer_size digunakan untuk menentukan saiz penimbal yang diperlukan untuk membaca bahagian pertama respons fastcgi Nilai ini menunjukkan bahawa penimbal 64kb akan digunakan untuk membaca bahagian pertama respon (pengepala respons), boleh ditetapkan kepada saiz penimbal yang ditentukan oleh pilihan fastcgi_buffers.
fastcgi_buffers menentukan bilangan dan berapa besar penimbal diperlukan secara setempat untuk menimbal permintaan tindak balas fastcgi. Jika saiz halaman yang dijana oleh skrip php ialah 256kb, maka empat penimbal 64kb akan diperuntukkan untuk caching, jika saiz halaman lebih besar daripada 256kb, maka bahagian yang lebih besar daripada 256kb akan dicache dalam laluan yang ditentukan oleh fastcgi_temp, tetapi ini adalah; bukan Pendekatan yang baik, kerana data boleh diproses lebih cepat dalam memori daripada pada cakera keras. Secara amnya, nilai ini hendaklah nilai pertengahan saiz halaman yang dijana oleh skrip PHP dalam tapak Jika saiz halaman yang dijana oleh kebanyakan skrip dalam tapak ialah 256kb, maka nilai ini boleh ditetapkan kepada "16 16k", "4. 64k", dsb.
Nilai lalai fastcgi_busy_buffers_size ialah dua kali ganda saiz fastcgi_buffers.
fastcgi_temp_file_write_size menunjukkan berapa besar blok data digunakan semasa menulis fail cache Nilai lalai adalah dua kali ganda daripada fastcgi_buffers.
Dayakan cache fastcgi dan namakan ia merujuk kepada peranan fastcgi_cache. Menghidupkan cache sangat berguna, ia boleh mengurangkan beban pada CPU dengan berkesan dan menghalang ralat 502 daripada berlaku, tetapi menghidupkan cache juga boleh menyebabkan banyak masalah, bergantung pada situasi tertentu.
fastcgi_cache_valid, fastcgi digunakan untuk menentukan masa cache kod respons Nilai dalam contoh menunjukkan bahawa 200 dan 302 respons akan dicache selama satu jam, 301 respons akan dicache. selama 1 hari, dan respons lain akan dicache selama 1 minit.
Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi dan mengoptimumkan FastCGI dalam Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Langkah -langkah untuk memulakan Nginx di Linux: Periksa sama ada Nginx dipasang. Gunakan SistemCTL Mula Nginx untuk memulakan perkhidmatan Nginx. Gunakan SistemCTL Dayakan NGINX untuk membolehkan permulaan automatik Nginx pada permulaan sistem. Gunakan Status SistemCTL Nginx untuk mengesahkan bahawa permulaan berjaya. Lawati http: // localhost dalam pelayar web untuk melihat halaman selamat datang lalai.

Bagaimana untuk mengesahkan sama ada nginx dimulakan: 1. Gunakan baris arahan: status sistem sistem nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. Periksa sama ada port 80 dibuka; 3. Semak mesej permulaan Nginx dalam log sistem; 4. Gunakan alat pihak ketiga, seperti Nagios, Zabbix, dan Icinga.

Bagaimana cara mengkonfigurasi nginx di Windows? Pasang Nginx dan buat konfigurasi hos maya. Ubah suai fail konfigurasi utama dan sertakan konfigurasi hos maya. Mulakan atau Muat semula Nginx. Uji konfigurasi dan lihat laman web. Selektif membolehkan SSL dan mengkonfigurasi sijil SSL. Selektif tetapkan firewall untuk membolehkan trafik port 80 dan 443.

Memulakan pelayan Nginx memerlukan langkah-langkah yang berbeza mengikut sistem operasi yang berbeza: Sistem Linux/Unix: Pasang pakej Nginx (contohnya, menggunakan apt-get atau yum). Gunakan SystemCTL untuk memulakan perkhidmatan Nginx (contohnya, SUDO SystemCTL Mula Nginx). Sistem Windows: Muat turun dan pasang fail binari Windows. Mula Nginx menggunakan nginx.exe executable (contohnya, nginx.exe -c conf \ nginx.conf). Tidak kira sistem operasi yang anda gunakan, anda boleh mengakses IP pelayan

Pelayan tidak mempunyai kebenaran untuk mengakses sumber yang diminta, mengakibatkan ralat NGINX 403. Penyelesaian termasuk: Periksa keizinan fail. Semak konfigurasi .htaccess. Semak konfigurasi Nginx. Konfigurasikan keizinan Selinux. Semak peraturan firewall. Menyelesaikan masalah lain seperti masalah penyemak imbas, kegagalan pelayan, atau kesilapan lain yang mungkin.

Bagaimana untuk memperbaiki kesilapan dilarang nginx 403? Semak keizinan fail atau direktori; 2. Semak .htaccess File; 3. Semak fail konfigurasi nginx; 4. Mulakan semula nginx. Penyebab lain yang mungkin termasuk peraturan firewall, tetapan selinux, atau isu aplikasi.

Di Linux, gunakan arahan berikut untuk memeriksa sama ada nginx dimulakan: Hakim status SistemCTL Nginx berdasarkan output arahan: Jika "Aktif: Aktif (Running)" dipaparkan, Nginx dimulakan. Jika "aktif: tidak aktif (mati)" dipaparkan, nginx dihentikan.

Terdapat dua cara untuk menyelesaikan masalah silang domain Nginx: Ubah suai tajuk tindak balas silang domain: Tambah arahan untuk membenarkan permintaan lintas domain, nyatakan kaedah dan tajuk yang dibenarkan, dan tetapkan masa cache. Gunakan modul CORS: Dayakan modul dan konfigurasikan peraturan CORS untuk membolehkan permintaan, kaedah, tajuk, dan masa cache domain.
