Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah perbezaan antara pelayan PHP nginx dan apache

Apakah perbezaan antara pelayan PHP nginx dan apache

青灯夜游
青灯夜游asal
2022-08-11 17:08:583393semak imbas

Perbezaan: 1. Apache ialah model berbilang proses segerak, satu sambungan sepadan dengan satu proses, manakala nginx adalah tak segerak, berbilang sambungan boleh sepadan dengan satu proses, dan nginx mempunyai kapasiti beban yang lebih tinggi daripada apache 2; . Apache sesuai untuk memproses permintaan Dinamik, manakala nginx sesuai untuk mengendalikan konfigurasi statik dan terbalik; lebih sedikit pepijat, manakala nginx mempunyai lebih banyak pepijat.

Apakah perbezaan antara pelayan PHP nginx dan apache

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3

Nginx

  • Ringan, ditulis dalam C, perkhidmatan web yang sama akan menduduki kurang memori dan sumber

  • Anti-konkurensi, nginx menggunakan epoll dan Sebagai pembangunan model, kqueue mengendalikan permintaan secara tidak segerak dan tidak menyekat, dan kapasiti bebannya jauh lebih tinggi daripada apache, manakala apache menyekat. Di bawah konkurensi yang tinggi, nginx boleh mengekalkan penggunaan sumber yang rendah dan prestasi tinggi, manakala apache terdedah kepada lonjakan dalam bilangan proses dan penafian perkhidmatan apabila pemprosesan PHP perlahan atau tekanan bahagian hadapan adalah tinggi.

  • nginx mengendalikan fail statik dengan baik, dan prestasi pemprosesan statik lebih tiga kali lebih tinggi daripada apache

  • reka bentuk nginx sangat modular dan menulis modul agak mudah

  • konfigurasi nginx adalah mudah, konfigurasi biasa menjadikan banyak perkara mudah, dan selepas menukar konfigurasi, anda boleh menggunakan -t untuk menguji sama ada terdapat sebarang masalah dengan konfigurasi . Konfigurasi Apache rumit. 🎜>

  • nginx sendiri ialah pelayan proksi terbalik dan boleh digunakan sebagai pelayan proksi mel yang sangat baik
  • Ia sangat mudah untuk dimulakan, dan boleh dijalankan hampir 24 /7 tanpa gangguan Walaupun ia berjalan selama beberapa bulan, ia tidak perlu dimulakan semula dan ia boleh menyediakan perkhidmatan tanpa gangguan dalam keadaan
  • Komuniti aktif. dan pelbagai modul berprestasi tinggi cepat dihasilkan
  • Apache

tulisan semula apache lebih berkuasa daripada nginx adalah kerap, gunakan apache Anda boleh menemui

    apache lebih matang dan mempunyai lebih sedikit pepijat, manakala nginx mempunyai lebih banyak pepijat
  • apache adalah hebat stabil
  • sokongan apache untuk PHP agak mudah, nginx perlu digunakan dengan backend lain
  • apache mempunyai kelebihan dalam mengendalikan permintaan dinamik, tetapi nginx tidak berguna dalam hal ini, dinamik umum Permintaan perlu dilakukan oleh apache, dan nginx sesuai untuk statik dan terbalik.
  • Apache masih menjadi arus perdana, dengan ciri yang kaya, teknologi matang dan komuniti pembangunan
  • Ringkasan

  • Perbezaan teras antara keduanya ialah apache ialah model berbilang proses segerak, satu sambungan sepadan dengan satu proses, manakala nginx adalah tak segerak, berbilang sambungan (10,000 tahap) boleh sepadan dengan satu proses
  • Secara umumnya Katakan, untuk perkhidmatan web yang memerlukan prestasi, gunakan nginx. Jika anda tidak memerlukan prestasi dan hanya mahukan kestabilan, pertimbangkan apache pelbagai modul berfungsi lebih baik daripada modul ssl yang pertama. Model IO rangkaian epoll (kqueue on freebsd) adalah sebab asas untuk prestasi pemprosesan tinggi nginx, tetapi epoll tidak menang dalam semua kes Jika ia sendiri menyediakan perkhidmatan statik, hanya terdapat beberapa fail, dan model pilihan apache mungkin lebih berprestasi daripada epoll. Sudah tentu, ini hanya andaian berdasarkan prinsip model IO rangkaian Aplikasi sebenar masih perlu diuji dalam amalan.

Memandangkan nginx lebih pantas daripada apache, mengapa nginx tidak menggantikan apache?

Oleh kerana kedua-dua perkara mempunyai fokus yang berbeza, Apache sendiri mempunyai banyak perkara terbina dalam dan boleh menyokong hampir semua aplikasi jenis web tanpa menggunakan perkara lain. Nginx adalah berbeza Ia mempunyai kelebihan dalam pemprosesan fail statik dan konkurensi tinggi.

Apache memfokuskan pada kesempurnaan dan kestabilan, manakala Nginx memfokuskan pada ringan dan kecekapan Banyak kali Apache dan Nginx dikonfigurasikan di hadapan Apache dan digunakan untuk menyekat fail statik permintaan .

  • Perlukah kita memilih Nginx atau Apache?

  • apache lebih baik untuk menjalankan php dan sesuai untuk menjalankan dinamik

nginx lebih sesuai untuk larian statik.

    Seni bina lanmp yang popular kini menggunakan apache dan nginx pada masa yang sama Halaman web statik diproses oleh nginx, dan halaman web dinamik diproses oleh apache, supaya prestasi pelayan dapat dimaksimumkan. .
  • Penyelesaian umum ialah menggunakan anti-konkurensi nginx di bahagian hadapan dan gugusan apache di bahagian belakang, yang akan berfungsi lebih baik bersama-sama.
  • Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati:
  • Video Pengaturcaraan

    ! !

Atas ialah kandungan terperinci Apakah perbezaan antara pelayan PHP nginx dan apache. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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
Artikel sebelumnya:Apakah fail dengan akhiran php?Artikel seterusnya:Apakah fail dengan akhiran php?