cari
RumahOperasi dan penyelenggaraanNginxAnalisis contoh permulaan cepat Nginx

Mengapa menggunakan nginx?

Pada masa ini, pesaing utama nginx adalah apache Di sini saya akan membuat perbandingan mudah antara keduanya untuk membantu semua orang lebih memahami kelebihan nginx.

1. Sebagai pelayan web:

Berbanding dengan apache, nginx menggunakan lebih sedikit sumber, menyokong lebih banyak sambungan serentak dan mencerminkan kecekapan yang lebih tinggi menjadikan nginx sangat popular dengan web penyedia hosting. Dalam kes konkurensi sambungan tinggi, nginx ialah alternatif yang baik kepada pelayan apache: nginx ialah salah satu platform perisian yang sering dipilih oleh bos dalam perniagaan hos maya di Amerika Syarikat Ia boleh menyokong respons sehingga 50,000 sambungan serentak. Terima kasih kepada nginx untuk Kami memilih epoll dan kqueue sebagai model pembangunan.

nginx sebagai pelayan pengimbangan beban: nginx boleh terus menyokong rel dan program php secara dalaman untuk menyediakan perkhidmatan luaran, atau ia boleh menyokong perkhidmatan luaran sebagai pelayan proksi http. nginx ditulis dalam C, dan overhed sumber sistem dan kecekapan penggunaan CPU adalah lebih baik daripada perlbal.

2. Konfigurasi nginx adalah mudah, apache adalah kompleks:

nginx amat mudah untuk dimulakan, dan boleh dijalankan hampir 24/7, walaupun ia dijalankan untuk beberapa bulan Tiada but semula diperlukan Anda juga boleh menaik taraf versi perisian tanpa mengganggu perkhidmatan.

Prestasi pemprosesan statik nginx adalah lebih daripada 3 kali lebih tinggi daripada sokongan Apache untuk php adalah agak mudah untuk digunakan dengan bahagian belakang yang lain daripada nginx.

3. Perbezaan teras ialah:

apache ialah model berbilang proses segerak, satu sambungan sepadan dengan satu proses tidak segerak, dengan berbilang sambungan (10,000 tahap) ) boleh sepadan dengan proses.

4 Bidang kepakaran kedua-duanya ialah:

Kelebihan nginx adalah untuk mengendalikan permintaan statik, dengan penggunaan memori cpu yang rendah, dan apache sesuai untuk mengendalikan permintaan dinamik, jadi sekarang Secara amnya, bahagian hadapan menggunakan nginx sebagai proksi terbalik untuk menahan tekanan, dan apache berfungsi sebagai hujung belakang untuk mengendalikan permintaan dinamik.

Penggunaan asas nginx

Platform sistem: keluaran centos 6.6 (akhir) 64-bit.

1. Pasang alatan kompilasi dan fail perpustakaan

Analisis contoh permulaan cepat Nginx

2. Mula-mula pasang pcre

1. Fungsi pcre adalah untuk membolehkan nginx menyokong fungsi penulisan semula. Muat turun pakej pemasangan pcre, alamat muat turun:

Analisis contoh permulaan cepat Nginx

Analisis contoh permulaan cepat Nginx

2. Nyahzip pakej pemasangan:

Analisis contoh permulaan cepat Nginx

3. Masukkan direktori pakej pemasangan

Analisis contoh permulaan cepat Nginx

4 versi pcre

Analisis contoh permulaan cepat Nginx

Analisis contoh permulaan cepat Nginx

3 Pasang nginx

Analisis contoh permulaan cepat Nginx

1 :

Analisis contoh permulaan cepat Nginx2 Buka zip pakej

Analisis contoh permulaan cepat Nginx

3 direktori pakej pemasangan

Analisis contoh permulaan cepat Nginx

4. Susun dan pasang

Analisis contoh permulaan cepat Nginx

5 🎜>

Analisis contoh permulaan cepat Nginx

Pada ketika ini, pemasangan nginx selesai.

Analisis contoh permulaan cepat Nginx4. konfigurasi nginx

Analisis contoh permulaan cepat NginxBuat pengguna www untuk nginx dijalankan:

Konfigurasikan nginx.conf , Gantikan /usr/local/webserver/nginx/conf/nginx.conf dengan yang berikut

Semak ketepatan perintah ngnix.conf fail konfigurasi: Analisis contoh permulaan cepat Nginx

Analisis contoh permulaan cepat Nginx

Analisis contoh permulaan cepat Nginx

5 Mulakan nginx

arahan permulaan nginx adalah seperti berikut:

Analisis contoh permulaan cepat Nginx

Analisis contoh permulaan cepat Nginx

6 Akses tapak

Akses IP tapak kami yang dikonfigurasikan daripada penyemak imbas:

Analisis contoh permulaan cepat Nginx

Arahan untuk perintah biasa nginx

1 konfigurasi global utama

nginx berinteraksi dengan fungsi perniagaan tertentu di. masa jalan (seperti perkhidmatan http atau proksi perkhidmatan e-mel), seperti bilangan proses kerja, identiti berjalan, dsb.

woker_processes 2
Di bahagian utama peringkat teratas fail konfigurasi, bilangan proses pekerja dalam peranan pekerja Proses induk menerima dan menyerahkan permintaan kepada pekerja untuk diproses . Nilai ini boleh ditetapkan dengan mudah kepada bilangan teras cpu grep ^processor /proc/cpuinfo | menggandakan bilangan cpu logik, yang boleh mengurangkan operasi i / o. Jika pelayan nginx mempunyai perkhidmatan lain, anda boleh mempertimbangkan untuk mengurangkannya dengan sewajarnya.

worker_cpu_affinity
juga ditulis di bahagian utama. Dalam situasi konkurensi yang tinggi, kehilangan prestasi yang disebabkan oleh pembinaan semula daftar di tapak dan sebagainya yang disebabkan oleh penukaran teras berbilang cpu dikurangkan dengan menetapkan kelekatan CPU. Seperti worker_cpu_affinity 0001 0010 0100 1000 (quad core).

worker_connections 2048
Tulis dalam bahagian acara. Bilangan maksimum sambungan yang boleh dikendalikan oleh setiap proses pekerja (dimulakan) secara serentak (termasuk bilangan sambungan dengan pelanggan atau pelayan proksi bahagian belakang). nginx berfungsi sebagai pelayan proksi terbalik Formula pengiraan ialah: bilangan maksimum sambungan = worker_processes * worker_connections/4, jadi bilangan maksimum sambungan pelanggan di sini ialah 1024. Tidak kira jika ini boleh ditingkatkan kepada 8192, bergantung pada. situasi, tetapi ia tidak boleh melebihi worker_rlimit_nofile berikutnya. Apabila nginx digunakan sebagai pelayan http, formula pengiraan dibahagikan dengan 2.

worker_rlimit_nofile 10240
ditulis di bahagian utama. Lalai ialah tiada tetapan dan boleh dihadkan kepada had sistem pengendalian maksimum 65535.

gunakan epoll
yang ditulis dalam bahagian acara. Di bawah sistem pengendalian Linux, nginx menggunakan model acara epoll secara lalai Terima kasih kepada ini, nginx agak cekap di bawah sistem pengendalian Linux. Pada masa yang sama, nginx menggunakan kqueue model acara yang cekap serupa dengan epoll pada sistem pengendalian openbsd atau freebsd. Gunakan pilih hanya apabila sistem pengendalian tidak menyokong model cekap ini.

2. pelayan http

Sesetengah parameter konfigurasi yang berkaitan dengan menyediakan perkhidmatan http. Contohnya: sama ada hendak menggunakan keepalive, sama ada hendak menggunakan gzip untuk pemampatan, dsb.

hantar fail dihidupkan
menghidupkan mod pemindahan fail yang cekap Arahan fail hantar menentukan sama ada nginx memanggil fungsi fail hantar ke fail output, mengurangkan penukaran konteks daripada ruang pengguna ke ruang kernel. Tetapkannya kepada hidup untuk aplikasi biasa Jika ia digunakan untuk aplikasi beban berat IO cakera seperti memuat turun, ia boleh ditetapkan kepada mati untuk mengimbangi kelajuan pemprosesan I/O cakera dan rangkaian dan mengurangkan beban sistem.

keepalive_timeout 65 : Tamat masa sambungan lama dalam beberapa saat Parameter ini sangat sensitif dan melibatkan jenis penyemak imbas, tetapan tamat masa pelayan hujung belakang dan tetapan sistem pengendalian. . Ia boleh ditetapkan secara berasingan. Apabila sambungan panjang meminta sejumlah besar fail kecil, ia boleh mengurangkan kos membina semula sambungan Walau bagaimanapun, jika fail besar dimuat naik, kegagalan untuk melengkapkan muat naik dalam masa 65 saat akan mengakibatkan kegagalan. Jika masa persediaan terlalu lama dan terdapat ramai pengguna, mengekalkan sambungan untuk masa yang lama akan menggunakan banyak sumber.

send_timeout: digunakan untuk menentukan tempoh tamat masa untuk membalas pelanggan. Tamat masa ini terhad kepada masa antara dua aktiviti sambungan Jika masa ini melebihi tanpa sebarang aktiviti pada klien, nginx akan menutup sambungan.

client_max_body_size 10m
Bilangan maksimum bait bagi satu fail yang dibenarkan untuk diminta oleh klien. Jika anda memuat naik fail yang lebih besar, sila tetapkan nilai hadnya

client_body_buffer_size 128k
Bilangan maksimum bait yang proksi penimbal menampan permintaan klien

Modul http_proxy :

Modul ini melaksanakan fungsi nginx sebagai pelayan proksi terbalik, termasuk fungsi caching (lihat juga artikel)

proxy_connect_timeout 60
tamat masa sambungan nginx dengan pelayan back-end (proksi Tamat masa sambungan)

proxy_read_timeout 60
Selepas sambungan berjaya, tamat masa antara dua operasi tindak balas yang berjaya dengan pelayan hujung belakang (tamat masa penerimaan proksi)

proxy_buffer_size 4k
Tetapkan proksi Penampan saiz yang digunakan oleh pelayan (nginx) untuk membaca dan menyimpan maklumat pengepala pengguna daripada pelayan sebenar bahagian belakang Saiz lalai adalah sama dengan proxy_buffers, anda boleh menetapkan nilai arahan ini lebih kecil

proxy_buffers 4 32k
proxy_buffers buffer, nginx cache respons daripada back-end realserver untuk satu sambungan Jika purata halaman web adalah di bawah 32k, tetapkan ia seperti ini

proxy_busy_buffers_saiz 64k. >Saiz penimbal di bawah beban tinggi (proxy_buffers*2)

proxy_max_temp_file_size

Apabila proxy_buffers tidak dapat menampung kandungan respons pelayan bahagian belakang, sebahagian daripadanya akan disimpan ke fail sementara pada cakera keras. Nilai ini digunakan untuk menetapkan saiz fail sementara maksimum. Lebih besar daripada nilai ini, akan dikembalikan daripada pelayan huluan. Tetapkan kepada 0 untuk melumpuhkan.

proxy_temp_file_write_size 64k

Apabila cache sedang diproksi oleh pelayan untuk bertindak balas kepada fail sementara, pilihan ini mengehadkan saiz fail sementara yang ditulis setiap kali. proxy_temp_path (boleh ditentukan semasa penyusunan) ke direktori mana untuk menulis.

pass_proxy, proxy_redirect lihat bahagian lokasi.

Modul http_gzip:

gzip dihidupkan: Hidupkan output mampatan gzip untuk mengurangkan penghantaran rangkaian.

  1. gzip_min_length 1k: Tetapkan bilangan minimum bait halaman yang dibenarkan untuk pemampatan Bilangan bait halaman diperoleh daripada panjang kandungan pengepala. Nilai lalai ialah 20. Adalah disyorkan untuk menetapkan bilangan bait menjadi lebih besar daripada 1k Jika kurang daripada 1k, ia mungkin menjadi lebih dan lebih dimampatkan.

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

  3. gzip_http_version 1.0: Digunakan untuk mengenal pasti versi protokol http pelayar awal tidak menyokong pemampatan gzip, dan pengguna akan melihat aksara bercelaru, jadi pilihan ini telah ditambahkan untuk menyokong versi terdahulu. Jika anda menggunakan proksi terbalik nginx dan ingin mendayakan pemampatan gzip, sila tetapkannya kepada 1.0 kerana komunikasi akhir ialah http/1.0.

  4. gzip_comp_level 6: nisbah mampatan gzip, 1 mempunyai nisbah mampatan terkecil dan kelajuan pemprosesan terpantas, 9 mempunyai nisbah mampatan terbesar tetapi kelajuan pemprosesan paling perlahan (transmisi pantas tetapi menggunakan lebih banyak CPU)

  5. gzip_types: Padankan jenis mime untuk pemampatan Tidak kira sama ada ia dinyatakan, jenis "teks/html" akan sentiasa dimampatkan.

  6. gzip_proxied any: Didayakan apabila nginx digunakan sebagai proksi terbalik, ia menentukan sama ada untuk mendayakan atau melumpuhkan pemampatan hasil yang dikembalikan oleh pelayan bahagian belakang pelayan bahagian belakang mesti mengembalikan mesej yang mengandungi pengepala "melalui" ".

  7. gzip_vary on: Ia berkaitan dengan pengepala http Vary: accept-encoding akan ditambahkan pada pengepala respons, yang membenarkan pelayan cache bahagian hadapan meng-cache halaman yang dimampatkan gzip. , sebagai contoh, menggunakan data mampat nginx Cache Squid.

3. hos maya pelayan

Perkhidmatan http menyokong beberapa hos maya. Setiap hos maya mempunyai item konfigurasi pelayan yang sepadan, yang mengandungi konfigurasi yang berkaitan dengan hos maya. Apabila menyediakan proksi untuk perkhidmatan mel, anda juga boleh mencipta beberapa pelayan. Setiap pelayan dibezakan dengan alamat pendengaran atau portnya.

dengar

Port mendengar ialah 80 secara lalai Jika kurang daripada 1024, ia mesti dimulakan sebagai akar. Ia boleh dalam bentuk listen *:80, listen 127.0.0.1:80, dsb.

nama_pelayan

Nama pelayan, seperti localhost, www.example.com, boleh dipadankan dengan ungkapan biasa.

Modul http_stream

Modul ini menggunakan algoritma penjadualan mudah untuk mencapai pengimbangan beban daripada IP klien ke pelayan hujung belakang diikuti dengan nama pengimbang beban, dan belakang -end realserver ialah hos: kaedah port disusun dalam {}. Jika hanya satu bahagian belakang diproksikan, anda juga boleh menulisnya terus dalam proxy_pass.

4. Lokasi

Siri item konfigurasi yang sepadan dengan URL tertentu dalam perkhidmatan http.

root /var/www/html

Tentukan lokasi akar tapak web lalai pelayan. Jika locationurl sepadan dengan subdirektori atau fail, root tidak mempunyai kesan dan biasanya diletakkan dalam arahan pelayan atau di bawah /.

index index.jsp index.html index.htm

Tentukan nama fail yang diakses secara lalai di bawah laluan, biasanya diikuti oleh root

proxy_pass http:/backend

Permintaan dihalakan semula ke definisi hujung belakang Senarai pelayan, iaitu, proksi terbalik, sepadan dengan pengimbang beban huluan. Anda juga boleh proxy_pass http://ip:port.

proxy_redirect dimatikan;

proxy_set_header host $host;
proxy_set_header x-real-ip $remote_addr;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for>
Mengenai penulisan peraturan padanan lokasi, ia boleh dikatakan sangat kritikal dan asas Sila rujuk kepada artikel ringkasan lokasi konfigurasi nginx dan tulis semula penulisan peraturan

5. Lain-lain

5.1 Kawalan akses membenarkan/menolak

modul kawalan akses nginx akan dipasang secara lalai, dan kaedah penulisan juga sangat mudah berbilang membenarkan dan menafikan untuk membenarkan atau melarang Akses tertentu kepada setiap IP atau segmen IP akan berhenti padanan jika mana-mana satu daripada peraturan itu dipenuhi. Contohnya:

Kami juga biasanya menggunakan htpasswd alat httpd-devel untuk menetapkan kata laluan log masuk untuk laluan akses:

Analisis contoh permulaan cepat Nginx

Ini menjana fail kata laluan yang disulitkan secara crypt secara lalai. Buka dua baris komen dalam nginx-status di atas dan mulakan semula nginx untuk berkuat kuasa.

5.2 Senarai autoindex direktori

nginx tidak membenarkan penyenaraian keseluruhan direktori secara lalai. Jika anda memerlukan fungsi ini, buka fail nginx.conf dan tambahkan autoindex di bahagian lokasi, pelayan atau http Adalah lebih baik untuk menambah dua parameter lain:

  1. autoindex_exact_size. ; Lalai Apabila dihidupkan, saiz sebenar fail dipaparkan dalam bait. Selepas bertukar kepada mati, anggaran saiz fail dipaparkan, unit adalah kb atau mb atau gb autoindex_localtime dihidupkan; . Selepas bertukar kepada hidup, masa fail yang dipaparkan ialah masa pelayan fail

Atas ialah kandungan terperinci Analisis contoh permulaan cepat Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:亿速云. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Nginx vs Apache: Prestasi, Skalabiliti, dan KecekapanNginx vs Apache: Prestasi, Skalabiliti, dan KecekapanApr 19, 2025 am 12:05 AM

Nginx dan Apache adalah pelayan web yang kuat, masing -masing dengan kelebihan dan kekurangan yang unik dari segi prestasi, skalabilitas dan kecekapan. 1) Nginx berfungsi dengan baik apabila mengendalikan kandungan statik dan terbalik proxying, sesuai untuk senario konvensional yang tinggi. 2) Apache melakukan lebih baik apabila memproses kandungan dinamik dan sesuai untuk projek yang memerlukan sokongan modul yang kaya. Pemilihan pelayan harus ditentukan berdasarkan keperluan dan senario projek.

The Ultimate Showdown: Nginx vs ApacheThe Ultimate Showdown: Nginx vs ApacheApr 18, 2025 am 12:02 AM

Nginx sesuai untuk mengendalikan permintaan serentak yang tinggi, manakala Apache sesuai untuk senario di mana konfigurasi kompleks dan sambungan berfungsi diperlukan. 1.Nginx mengamalkan seni bina yang didorong oleh peristiwa, tidak menyekat, dan sesuai untuk persekitaran yang tinggi. 2. Apache mengamalkan model atau model benang untuk menyediakan ekosistem modul yang kaya yang sesuai untuk keperluan konfigurasi kompleks.

Nginx dalam tindakan: contoh dan aplikasi dunia nyataNginx dalam tindakan: contoh dan aplikasi dunia nyataApr 17, 2025 am 12:18 AM

Nginx boleh digunakan untuk meningkatkan prestasi laman web, keselamatan, dan skalabiliti. 1) Sebagai proksi terbalik dan pengimbang beban, Nginx dapat mengoptimumkan perkhidmatan back-end dan berkongsi lalu lintas. 2) Melalui seni bina yang didorong oleh peristiwa dan tak segerak, Nginx dengan cekap mengendalikan sambungan serentak yang tinggi. 3) Fail konfigurasi membenarkan definisi peraturan yang fleksibel, seperti perkhidmatan fail statik dan mengimbangi beban. 4) Cadangan pengoptimuman termasuk membolehkan pemampatan GZIP, menggunakan cache dan menala proses pekerja.

Unit Nginx: Menyokong bahasa pengaturcaraan yang berbezaUnit Nginx: Menyokong bahasa pengaturcaraan yang berbezaApr 16, 2025 am 12:15 AM

NginxUnit menyokong pelbagai bahasa pengaturcaraan dan dilaksanakan melalui reka bentuk modular. 1. Memuatkan Modul Bahasa: Muatkan modul yang sepadan mengikut fail konfigurasi. 2. Permulaan Permohonan: Jalankan kod aplikasi apabila bahasa panggilan berjalan. 3. Permintaan Pemprosesan: Teruskan permintaan kepada contoh permohonan. 4. Pulangan Respons: Kembalikan respons yang diproses kepada pelanggan.

Memilih antara nginx dan apache: sesuai untuk keperluan andaMemilih antara nginx dan apache: sesuai untuk keperluan andaApr 15, 2025 am 12:04 AM

Nginx dan Apache mempunyai kelebihan dan kekurangan mereka sendiri dan sesuai untuk senario yang berbeza. 1.Nginx sesuai untuk senario penggunaan sumber yang tinggi dan rendah. 2. Apache sesuai untuk senario di mana konfigurasi kompleks dan modul yang kaya diperlukan. Dengan membandingkan ciri teras mereka, perbezaan prestasi, dan amalan terbaik, anda boleh membantu anda memilih perisian pelayan yang paling sesuai dengan keperluan anda.

Cara Memulakan NginxCara Memulakan NginxApr 14, 2025 pm 01:06 PM

Soalan: Bagaimana untuk memulakan nginx? Jawapan: Pasang Nginx Startup Nginx Verification Nginx adalah nginx mula meneroka pilihan permulaan lain secara automatik Mula nginx

Cara memeriksa sama ada nginx dimulakanCara memeriksa sama ada nginx dimulakanApr 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 menutup nginxCara menutup nginxApr 14, 2025 pm 01:00 PM

Untuk menutup perkhidmatan nginx, ikuti langkah -langkah berikut: Tentukan jenis pemasangan: Red Hat/CentOS (status SistemCTL nginx) atau debian/ubuntu (status nginx) menghentikan perkhidmatan: Red Hat/CentOS (SystemCtl Stop Nginx) atau Debian/Ubuntu (perkhidmatan Nginx) (Syst

See all articles

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.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa