fungsi biasa nginx
1 proksi http, proksi terbalik: Sebagai salah satu fungsi pelayan web yang paling biasa digunakan, terutamanya proksi terbalik.
Di sini saya akan memberikan anda dua gambar untuk menerangkan agen positif dan agen reaktif Anda boleh membaca maklumat untuk butiran khusus.
nginx menyediakan prestasi yang stabil apabila digunakan sebagai proksi terbalik, dan boleh menyediakan fungsi pemajuan dengan konfigurasi yang fleksibel. nginx boleh menggunakan strategi pemajuan yang berbeza berdasarkan padanan biasa yang berbeza, seperti pergi ke pelayan fail pada akhir fail imej, dan pergi ke pelayan web untuk halaman dinamik selagi anda tidak mempunyai masalah menulis peraturan biasa dan mempunyai yang sepadan penyelesaian pelayan, anda boleh melakukan apa sahaja yang anda mahukan. Dan nginx melakukan lompatan halaman ralat, pertimbangan pengecualian, dll. pada hasil yang dikembalikan. Jika pelayan yang diedarkan tidak normal, dia boleh memajukan semula permintaan ke pelayan lain dan kemudian mengalih keluar pelayan yang tidak normal secara automatik.
2. Pengimbangan beban
nginx menyediakan dua jenis strategi pengimbangan beban: strategi terbina dalam dan strategi lanjutan. Strategi terbina dalam ialah tinjauan pendapat, tinjauan wajaran dan cincangan ip. Strategi pengembangan adalah imaginatif kerana ia tidak dapat dibayangkan. Tiada apa yang anda tidak boleh fikirkan yang tidak boleh dilakukan. Anda boleh merujuk kepada semua algoritma pengimbangan beban untuk mencarinya satu demi satu dan melaksanakannya.
Tiga gambar di atas, fahami pelaksanaan ketiga-tiga algoritma pengimbangan beban ini
algoritma cincang ip, lakukan operasi cincang pada IP yang diminta oleh pelanggan , dan kemudian Mengagihkan permintaan daripada IP klien yang sama ke pelayan yang sama untuk pemprosesan berdasarkan hasil cincang boleh menyelesaikan masalah sesi tidak dikongsi.
3. Cache web
nginx boleh melakukan pemprosesan cache yang berbeza untuk fail yang berbeza, dengan konfigurasi fleksibel dan menyokong fastcgi_cache, yang digunakan terutamanya untuk fastcgi Dynamic program dicache. Bekerjasama dengan ngx_cache_purge pihak ketiga, kandungan cache URL yang ditentukan boleh ditambah dan dipadamkan untuk diurus.
4. alamat berkaitan nginx
Kod sumber:
Tapak web rasmi:
struktur fail konfigurasi nginx
Jika Sekarang anda telah memuat turun fail pemasangan anda, anda juga boleh membuka fail nginx.conf dalam folder conf Konfigurasi asas pelayan nginx dan konfigurasi lalai juga disimpan di sini.
Dalam bit simbol ulasan nginx.conf #
Struktur fail nginx, pelajar yang baru bermula boleh melihat ini kali kedua.
Konfigurasi lalai
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the php scripts to apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the php scripts to fastcgi server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param script_filename /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of ip-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # https server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:ssl:1m; # ssl_session_timeout 5m; # ssl_ciphers high:!anull:!md5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
struktur fail nginx
... #全局塊 events { #events塊 ... } http #http塊 { ... #http全局塊 server #server塊 { ... #server全局塊 location [pattern] #location塊 { ... } location [pattern] { ... } } server { ... } ... #http全局塊 }
1. Secara amnya, terdapat kumpulan pengguna untuk menjalankan pelayan nginx, laluan penyimpanan pid proses nginx, laluan storan log, pengenalan fail konfigurasi, bilangan proses pekerja yang dibenarkan untuk dihasilkan, dsb.
2. Blok acara: Konfigurasi mempengaruhi pelayan nginx atau sambungan rangkaian dengan pengguna. Terdapat bilangan maksimum sambungan bagi setiap proses, yang model dipacu peristiwa untuk dipilih untuk mengendalikan permintaan sambungan, sama ada membenarkan berbilang sambungan rangkaian diterima pada masa yang sama, membolehkan bersiri berbilang sambungan rangkaian, dsb.
3. Blok http: Anda boleh menyusun berbilang pelayan, mengkonfigurasi proksi, cache, definisi log dan kebanyakan fungsi lain dan mengkonfigurasi modul pihak ketiga. Seperti pengenalan fail, definisi jenis mime, penyesuaian log, sama ada menggunakan fail hantar untuk memindahkan fail, tamat masa sambungan, bilangan permintaan sambungan tunggal, dsb.
4. Sekatan pelayan: Konfigurasikan parameter yang berkaitan bagi hos maya.
5. Blok lokasi: Konfigurasikan penghalaan permintaan dan pemprosesan pelbagai halaman.
Berikut ialah fail konfigurasi untuk anda fahami, dan ia juga dipasang ke dalam mesin ujian yang saya bina untuk memberi anda contoh.
########### 每個指令必須有分號結束。################# #user administrator administrators; #配置用戶或者組,默認為nobody nobody。 #worker_processes 2; #允許生成的進程數,默認為1 #pid /nginx/pid/nginx.pid; #指定nginx進程運行文件存放地址 error_log log/error.log debug; #制定日志路徑,級別。這個設置可以放入全局塊,http塊,server塊,級別以此為:debug|info|notice|warn|error|crit|alert|emerg events { accept_mutex on; #設置網路連接序列化,防止驚群現象發(fā)生,默認為on multi_accept on; #設置一個進程是否同時接受多個網絡連接,默認為off #use epoll; #事件驅動模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport worker_connections 1024; #最大連接數,默認為512 } http { include mime.types; #文件擴展名與文件類型映射表 default_type application/octet-stream; #默認文件類型,默認為text/plain #access_log off; #取消服務日志 log_format myformat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定義格式 access_log log/access.log myformat; #combined為日志格式的默認值 sendfile on; #允許sendfile方式傳輸文件,默認為off,可以在http塊,server塊,location塊。 sendfile_max_chunk 100k; #每個進程每次調用傳輸數量不能大于設定的值,默認為0,即不設上限。 keepalive_timeout 65; #連接超時時間,默認為75s,可以在http,server,location塊。 upstream mysvr { server 127.0.0.1:7878; server 192.168.10.121:3333 backup; #熱備 } error_page 404 https://www.baidu.com; #錯誤頁 server { keepalive_requests 120; #單連接請求上限次數。 listen 4545; #監(jiān)聽端口 server_name 127.0.0.1; #監(jiān)聽地址 location ~*^.+$ { #請求的url過濾,正則匹配,~為區(qū)分大小寫,~*為不區(qū)分大小寫。 #root path; #根目錄 #index vv.txt; #設置默認頁 proxy_pass http://mysvr; #請求轉向mysvr 定義的服務器列表 deny 127.0.0.1; #拒絕的ip allow 172.18.5.54; #允許的ip } } }
Di atas adalah konfigurasi asas nginx Anda perlu memberi perhatian kepada perkara berikut:
1. $remote_addr dan $http_x_forwarded_for sudah biasa merekodkan alamat IP pelanggan ; ??>
5. $status: Digunakan untuk merekod status permintaan ialah 200, 6.$body_bytes_s ent: Rekod saiz kandungan fail yang dihantar kepada klien 7.$http_referer: Digunakan untuk merekod pautan halaman diakses daripada; 8.$http_user_agent: Rekod maklumat berkaitan pelayar klien 2. Fenomena gerombolan gemuruh: apabila sambungan rangkaian tiba, beberapa proses tidur dibangkitkan oleh rakan sekerja, tetapi hanya satu proses boleh mendapatkan pautan, yang akan menjejaskan prestasi sistem . 3. Setiap arahan mesti diakhiri dengan koma bertitik.Atas ialah kandungan terperinci Analisis contoh fail konfigurasi Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Nginx lebih sesuai untuk mengendalikan sambungan serentak yang tinggi, manakala Apache lebih sesuai untuk senario di mana konfigurasi kompleks dan sambungan modul diperlukan. 1.Nginx dikenali dengan prestasi tinggi dan penggunaan sumber yang rendah, dan sesuai untuk kesesuaian yang tinggi. 2.apache terkenal dengan kestabilan dan sambungan modul yang kaya, yang sesuai untuk keperluan konfigurasi kompleks.

Nginx dan Apache masing -masing mempunyai kelebihan dan kekurangan mereka sendiri, dan pilihannya harus berdasarkan keperluan khusus. 1.Nginx sesuai untuk senario konvensional yang tinggi kerana seni bina yang tidak menyekatnya. 2. Apache sesuai untuk senario rendah-concurrency yang memerlukan konfigurasi kompleks, kerana reka bentuk modularnya.

Kod PHP boleh dilaksanakan dengan banyak cara: 1. Gunakan baris arahan untuk terus memasukkan "nama fail php" untuk melaksanakan skrip; 2. Masukkan fail ke dalam direktori root dokumen dan mengaksesnya melalui penyemak imbas melalui pelayan web; 3. Jalankannya dalam IDE dan gunakan alat debugging terbina dalam; 4. Gunakan kotak pasir PHP dalam talian atau platform pelaksanaan kod untuk ujian.

Memahami laluan fail konfigurasi Nginx dan tetapan awal sangat penting kerana ia adalah langkah pertama dalam mengoptimumkan dan menguruskan pelayan web. 1) Laluan fail konfigurasi biasanya /etc/nginx/nginx.conf. Sintaks boleh didapati dan diuji menggunakan arahan NGINX-T. 2) Tetapan awal termasuk tetapan global (seperti pengguna, worker_processes) dan tetapan HTTP (seperti termasuk, log_format). Tetapan ini membolehkan penyesuaian dan lanjutan mengikut keperluan. Konfigurasi yang salah boleh membawa kepada isu prestasi dan kelemahan keselamatan.

Sistem Linux mengehadkan sumber pengguna melalui perintah ULIMIT untuk mengelakkan penggunaan sumber yang berlebihan. 1.Ulimit adalah arahan shell terbina dalam yang boleh mengehadkan bilangan deskriptor fail (-N), saiz memori (-V), kiraan thread (-u), dan lain-lain, yang dibahagikan kepada had lembut (nilai berkesan semasa) dan had keras (had atas maksimum). 2. Gunakan perintah ULIMIT secara langsung untuk pengubahsuaian sementara, seperti ULIMIT-N2048, tetapi hanya sah untuk sesi semasa. 3. Untuk kesan tetap, anda perlu mengubah suai /etc/security/limits.conf dan fail konfigurasi PAM, dan tambah sessionrequiredpam_limits.so. 4. Perkhidmatan SystemD perlu menetapkan LIM dalam fail unit

Apabila mengkonfigurasi Nginx pada sistem Debian, berikut adalah beberapa petua praktikal: struktur asas fail konfigurasi Global Fail: Tentukan parameter tingkah laku yang mempengaruhi keseluruhan perkhidmatan Nginx, seperti bilangan thread pekerja dan kebenaran pengguna yang sedang berjalan. Bahagian Pengendalian Acara: Memutuskan bagaimana Nginx berurusan dengan sambungan rangkaian adalah konfigurasi utama untuk meningkatkan prestasi. Bahagian Perkhidmatan HTTP: Mengandungi sejumlah besar tetapan yang berkaitan dengan perkhidmatan HTTP, dan boleh membenamkan beberapa pelayan dan blok lokasi. Pilihan Konfigurasi Teras Worker_Connections: Tentukan bilangan maksimum sambungan yang setiap thread pekerja boleh mengendalikan, biasanya ditetapkan ke 1024. Multi_accept: Aktifkan mod penerimaan pelbagai sambungan dan tingkatkan keupayaan pemprosesan serentak. s

NginxserveswebcontentandactsasareVerseProxy, loadbalancer, andmore.1) itefficientlyservesstaticcontentlikehtmlandimages.2) itfunctionsasareverseProxyandloadalancer, distributingtrafficacrosservers.3)

Diagnosis dan penyelesaian untuk kesilapan biasa Nginx termasuk: 1. Lihat fail log, 2. Laraskan fail konfigurasi, 3 mengoptimumkan prestasi. Dengan menganalisis log, menyesuaikan tetapan masa tamat dan mengoptimumkan cache dan mengimbangi beban, kesilapan seperti 404, 502, 504 dapat diselesaikan dengan berkesan untuk meningkatkan kestabilan dan prestasi laman web.
