Jadual Kandungan
Perisian tengah HTTP
Apache
Model pemprosesan dalaman Apache
Nginx
Model pemprosesan dalaman Nginx
Rumah Operasi dan penyelenggaraan Nginx Enjin mana yang lebih baik, Apache HTTP atau Nginx?

Enjin mana yang lebih baik, Apache HTTP atau Nginx?

May 11, 2023 pm 03:49 PM
http apache nginx

Perisian tengah HTTP

Apabila kami memasukkan pautan web dalam penyemak imbas, penyemak imbas menghantar permintaan kepada pelayan yang sepadan berdasarkan protokol penghantaran HTTP(s) dan pelayan memproses permintaan yang sepadan selepas menerimanya. Kembalikan maklumat yang sepadan kepada penyemak imbas, dan kemudian penyemak imbas menghuraikan kandungan dalam http dan memaparkannya dalam bentuk halaman web.

Pelayan bertanggungjawab untuk menerima permintaan dan mengembalikan data yang sepadan selepas pemprosesan, yang boleh dibahagikan kepada bahagian perkhidmatan yang memproses sambungan http dan bahagian aplikasi yang melaksanakan kandungan perkhidmatan (WordPress menggunakan PHP Menjana halaman yang diperlukan adalah kepunyaan bahagian aplikasi)

Tidak kira apa jenis aplikasi yang dijalankan oleh bahagian aplikasi, bahagian yang mengendalikan sambungan http adalah hampir sama, jadi terdapat bahagian tengah yang secara khusus mengendalikan sambungan http, pada masa ini yang paling biasa ialah Apache dan Nginx.

Apache

, yang nama rasminya ialah "Apache HTTP Server", ialah perisian tengah pelayan sumber terbuka HTTP Ia dilahirkan pada tahun 1995 dan pernah menjadi peneraju dalam perkhidmatan HTTP Ia mempunyai sejumlah besar pengguna dan sumber komuniti yang kaya. Salah satu kelebihan hebat Apache ialah ia mudah untuk disepadukan dengan perisian CMS seperti Wordpress Anda boleh membina tapak web berasaskan CMS dengan hanya tetapan mudah.

Model pemprosesan dalaman Apache

Dari segi struktur dalaman, Apache mengamalkan pendekatan pelbagai proses Setiap kali terdapat sambungan, satu proses akan dibuka untuk sambungan ini, khusus untuk memproses permintaan sambungan ini sehingga sambungan tamat. Kelebihan ini ialah:

  • Sambungan daripada pelanggan yang berbeza akan dibalas serta-merta tanpa mengganggu satu sama lain, dan sambungan lain tidak akan terjejas kerana satu perkhidmatan mengambil masa yang lama.

Tetapi kelemahannya juga jelas:

  • Apabila terdapat banyak akses serentak, Apache akan mencipta sejumlah besar proses, menduduki terlalu banyak masa.

  • Penjadualan antara sejumlah besar benang juga akan menyebabkan banyak pembaziran kuasa pemprosesan CPU.

Ini menimbulkan masalah yang dipanggil C10K, C ialah pelanggan, 10K bermakna 10,000, iaitu, tidak kira betapa tinggi prestasi dan lebar jalur rangkaian pelayan , Apache semuanya sukar untuk mengendalikan lebih daripada 10,000 sambungan pada masa yang sama.

Nginx

disebut sebagai Engine-X Seperti Apache, ia juga merupakan perisian tengah sumber terbuka untuk perkhidmatan HTTP Ia dilahirkan pada tahun 2004. Nginx mempunyai sejarah yang lebih pendek daripada Apache, tetapi kerana ia lambat datang, Nginx mempelajari pelajaran Apache dan mempertimbangkan kecekapan mengendalikan sejumlah besar sambungan pada peringkat reka bentuk awal, menyelesaikan masalah seperti C10K dan masalah lain yang timbul apabila skala Internet berkembang.

Model pemprosesan dalaman Nginx

Nginx mengamalkan 非阻塞IO dan pendekatan dipacu mesej tak segerak, iaitu, menggunakan gelung dalam urutan yang dipanggil worker untuk memproses sambungan dalam baris gilir bertanya. Bergantung pada perkakasan, berbilang worker benang boleh ditetapkan untuk menggunakan sepenuhnya sumber teras CPU.

  • Selesaikan masalah penggunaan memori yang berlebihan dan kecekapan penjadualan yang rendah apabila memproses sejumlah besar sambungan, sambil juga menggunakan sepenuhnya semua teras CPU. Keupayaan untuk mengendalikan sambungan serentak adalah 10 hingga 100 kali ganda daripada Apache pada perkakasan yang sama.

Tetapi Nginx kaedah ini bukan tanpa kekurangannya.

  • Apabila prestasi teras tunggal pelayan adalah lemah, tapak web dinamik berdasarkan CMS mungkin mengambil masa yang lama untuk melaksanakan permintaan Pada masa ini, permintaan daripada pelanggan lain tidak akan segera dilaksanakan. Ia akan menjadi lebih jelas apabila CPU terdapat lebih sedikit teras dan worker benang tidak mencukupi.

Nasib baik, prestasi pelayan semakin kukuh dan kukuh Di bawah pimpinan AMD, bilangan CPU teras juga semakin bertambah cukup untuk menebusnya Dan kelebihan kecekapan tinggi semakin ketara. Nginx

Perbandingan komprehensif

Kuasa pemprosesan adalah 10-100 kali terhad Adakah ia akan disekat oleh tugas yang kompleks. Adakah mungkin untuk menetapkan tahap kesukaran menjadi agak mudah dan agak kompleks ? Komuniti mempunyai sumber yang agak sedikitApache Nginx

Dalam beberapa tahun kebelakangan ini, bahagian pasaran

telah terus meningkat, dan pada tahun 2019 ia telah mencapai tahap yang sama seperti Nginx. Untuk tapak web yang besar dengan bilangan lawatan yang banyak, anda dapat melihat bahawa semakin banyak bilangan lawatan, semakin tinggi nisbah Apache. Ini juga mengesahkan prestasi unggul Nginx apabila mengendalikan sejumlah besar akses. Nginx

Pengimbangan Beban

Selain digunakan sebagai pelayan HTTP, fungsi proksi terbaliknya yang berkuasa juga digunakan secara meluas sebagai pelayan pengimbangan beban hadapan, secara beransur-ansur menggantikan berasaskan perkakasan peranti pengimbangan beban. Nginx

Beberapa pelayan bahagian belakang boleh dikonfigurasikan dalam

Nginx akan memajukan permintaan ke pelayan bahagian belakang mengikut peraturan tertentu (polling, pencincangan IP, rawak keutamaan) selepas menerima meminta pelayan akhir untuk mencapai pengagihan beban purata atau wajaran pada berbilang pelayan. Nginx

Pada masa yang sama, sebagai pengimbangan beban bahagian hadapan, ia juga boleh cache data yang dikembalikan oleh bahagian belakang untuk melegakan tekanan pada pelayan bahagian belakang. Bahagian hadapan menggunakan Nginx untuk pengimbangan beban untuk mengehadkan bilangan sambungan ke setiap pelayan, dan ia adalah perkara biasa bagi pelayan bahagian belakang menjalankan Apache.

Pemimpin industri pengimbang beban perkakasanF5 networks memperoleh Nginx pada 2019 dan melancarkan penyelesaian pengimbangan beban Nginx+ yang termasuk perkhidmatan berbayar.

Atas ialah kandungan terperinci Enjin mana yang lebih baik, Apache HTTP atau Nginx?. 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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan 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)

Cara memeriksa sama ada nginx dimulakan Cara memeriksa sama ada nginx dimulakan Apr 14, 2025 pm 01:03 PM

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.

Cara Mengkonfigurasi Nginx di Windows Cara Mengkonfigurasi Nginx di Windows Apr 14, 2025 pm 12:57 PM

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.

Bagaimana untuk memeriksa sama ada Nginx dimulakan? Bagaimana untuk memeriksa sama ada Nginx dimulakan? Apr 14, 2025 pm 12:48 PM

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.

Cara memulakan nginx di linux Cara memulakan nginx di linux Apr 14, 2025 pm 12:51 PM

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.

Cara memulakan pelayan nginx Cara memulakan pelayan nginx Apr 14, 2025 pm 12:27 PM

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

Cara menyelesaikan ralat nginx403 Cara menyelesaikan ralat nginx403 Apr 14, 2025 pm 12:54 PM

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.

Cara menyelesaikan ralat nginx304 Cara menyelesaikan ralat nginx304 Apr 14, 2025 pm 12:45 PM

Jawab kepada Soalan: 304 Tidak diubahsuai ralat menunjukkan bahawa penyemak imbas telah cache versi sumber terkini permintaan klien. Penyelesaian: 1. Kosongkan cache penyemak imbas; 2. Lumpuhkan cache penyemak imbas; 3. Konfigurasi nginx untuk membolehkan cache pelanggan; 4. Periksa keizinan fail; 5. Semak fail hash; 6. Lumpuhkan CDN atau cache proksi terbalik; 7. Mulakan semula nginx.

Cara menetapkan alamat akses nginx ke IP pelayan Cara menetapkan alamat akses nginx ke IP pelayan Apr 14, 2025 am 11:36 AM

Untuk menetapkan alamat akses ke IP pelayan di nginx, konfigurasikan blok pelayan, tetapkan alamat pendengaran (seperti mendengar 192.168.1.10:80) tetapkan nama pelayan (seperti server_name example.com www.example.com), atau biarkan kosong untuk mengakses IP pelayan dan muat semula nginx untuk menggunakan perubahan tersebut

See all articles