cari
RumahOperasi dan penyelenggaraanNginxBagaimana untuk mengkonfigurasi lokasi dalam pelayan Nginx

Sintaks
lokasi [=|~|~*|^~] /uri/ {...}

Peraturan
= : Menunjukkan padanan uri yang tepat (pelajar yang berminat boleh melihat perbezaan antara url dan uri)
~: Menunjukkan padanan biasa sensitif huruf besar/kecil
~*: Menunjukkan padanan biasa tidak sensitif huruf besar/kecil
lebih kurang 🎜>
Ujian padanan lokasi hanya menggunakan bahagian uri permintaan, bukan bahagian parameter. (Sebab: Terdapat terlalu banyak cara untuk menulis parameter dan tidak boleh dipadankan dengan tepat)

Tertib pemadanan lokasi
Di bawah premis berbilang konfigurasi lokasi, susunan pemadanan lokasi (tidak disahkan , hey, google Searched above)

1 Perlawanan pertama =

2 padanan ^~3 Kemudian lakukan pemadanan biasa mengikut susunan fail konfigurasi,
4 ia ke / untuk pemadanan umum
Nota:
Apabila perlawanan berjaya, pemadanan akan dihentikan serta-merta dan permintaan akan diproses mengikut peraturan pemadanan semasa

Contoh demo

fail konfigurasi nginx, dibahagikan kepada tiga jenis dari bawah ke atas Struktur hierarki:
| http menyekat tahap protokol

| >nginx membenarkan pengguna mentakrifkan blok lokasi dan menentukan corak (corak) padanan padanan uri tertentu. Selain rentetan ringkas (seperti laluan sistem fail), corak padanan yang lebih kompleks juga dibenarkan. Bentuk sintaks asas

blok lokasi ialah:

  location [=|~|~*|^~|@] pattern { ... }

[=|~|~*|^~|@] dipanggil pengubah suai lokasi, yang akan menentukan cara nginx sepadan dengan corak berikut , dan atribut paling asas corak (rentetan ringkas atau ungkapan biasa).

Mengenai pengubah suai lokasi



1 =

Ini akan sepadan sepenuhnya dengan corak yang ditentukan dan corak di sini adalah terhad. menjadi rentetan ringkas, yang bermaksud ungkapan biasa tidak boleh digunakan di sini. contoh:

server {
  server_name jb51.net;
  location = /abcd {
  […]
  }
}

Situasi yang sepadan: http://jb51.net/abcd # Padan betul dengan http://jb51.net/abcd # Jika menjalankan nginx The sistem pelayan itu sendiri tidak sensitif huruf besar-besaran, seperti tingkap, maka ia juga sepadan dengan

http://jb51.net/abcd?param1?m2 # Abaikan hujah rentetan pertanyaan, berikut adalah apa yang diikuti oleh /abcd?

http://jb51.net/abcd/ # Tiada perlawanan, kerana terdapat garis miring di hujungnya, nginx tidak menganggap situasi ini sebagai perlawanan yang lengkap
http://jb51.net /abcde # Tidak sepadan, kerana ia bukan padanan lengkap

2 (tiada)

Anda tidak boleh menulis pengubah lokasi, nginx masih boleh memadankan corak. Dalam kes ini, padankan uri tersebut bermula dengan corak yang ditentukan Ambil perhatian bahawa uri di sini hanya boleh menjadi rentetan biasa dan ungkapan biasa tidak boleh digunakan.
contoh:

server {
  server_name website.com;
  location /abcd {
  […]
  }
}

Situasi yang sepadan:

http://jb51.net/abcd # Padan betul dengan http://jb51.net/abcd # Jika menjalankan nginx The sistem pelayan itu sendiri tidak sensitif huruf besar-besaran, seperti tingkap, maka ia juga sepadan dengan
http://jb51.net/abcd?param1?m2 # Abaikan hujah rentetan pertanyaan, berikut ialah /abcd param1?m2?
http://jb51.net/abcd/ # Garis miring mengekor di hujung juga berada dalam julat padanan
http://jb51.net/abcde # Masih padan, kerana uri adalah

bermula dengan corak 3. ~

Pengubah suai lokasi ini sensitif huruf besar dan kecil dan corak mestilah ungkapan biasa

example:
server {
  server_name jb51.net;
  location ~ ^/abcd$ {
  […]
  }
}

situasi sepadan:

http: //jb51.net/abcd # Padanan tepat

http://jb51.net/abcd # Tiada padanan, ~ adalah sensitif huruf besar/kecil http://jb51.net/abcd ?param1?m2 # Abaikan pertanyaan hujah rentetan, berikut ialah ?param1?m2
selepas /abcd http://jb51.net/abcd/ # Tidak padan kerana terdapat garis miring ke belakang pada penghujung (garis miring di belakang), tidak sepadan dengan ungkapan biasa^/ abcd$
http://jb51.net/abcde #Tidak sepadan dengan ungkapan biasa^/abcd$
Nota: Untuk sesetengah sistem yang tidak sensitif huruf besar-besaran, Contohnya, dalam tingkap, ~ dan ~* tidak berfungsi. Ini disebabkan terutamanya oleh sistem pengendalian.

4. ~*
与 ~ 类似,但这个 location modifier 不区分大小写,pattern 须是正则表达式
example:

server {
  server_name website.com;
  location ~* ^/abcd$ {
  […]
  }
}

匹配情况:
    http://jb51.net/abcd        # 完全匹配
    http://jb51.net/abcd        # 匹配,这就是它不区分大小写的特性
    http://jb51.net/abcd?param1?m2    # 忽略查询串参数(query string arguments),这里就是 /abcd 后面的 ?param1?m2
    http://jb51.net/abcd/    # 不匹配,因为末尾存在反斜杠(trailing slash),并不匹配正则表达式 ^/abcd$
    http://jb51.net/abcde    # 不匹配正则表达式 ^/abcd$

5. ^~
匹配情况类似 2. (none) 的情况,以指定匹配模式开头的 uri 被匹配,不同的是,一旦匹配成功,那么 nginx 就停止去寻找其他的 location 块进行匹配了(与 location 匹配顺序有关)

6. @
用于定义一个 location 块,且该块不能被外部 client 所访问,只能被 nginx 内部配置指令所访问,比如 try_files or error_page

演示实例

Bagaimana untuk mengkonfigurasi lokasi dalam pelayan Nginx

产生的效果如下:
访问根目录/,匹配到location /
访问除hello.php之外的其它php程序,匹配到location ~ \.php$,并且用php5-fpm去运行
访问hello.php,匹配到location = /hello.php,访问被重定向到好联系官网

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi lokasi dalam pelayan 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
Unit Nginx: Senibina dan Bagaimana Ia BerfungsiUnit Nginx: Senibina dan Bagaimana Ia BerfungsiApr 23, 2025 am 12:18 AM

NginxUnit meningkatkan prestasi aplikasi dan pengurusan dengan seni bina modular dan keupayaan konfigurasi semula dinamik. 1) Reka bentuk modular termasuk proses induk, router dan proses permohonan, menyokong pengurusan dan pengembangan yang cekap. 2) Konfigurasi semula dinamik membolehkan kemas kini konfigurasi yang lancar semasa runtime, sesuai untuk persekitaran CI/CD. 3) Sokongan berbilang bahasa dilaksanakan melalui pemuatan dinamik bahasa runtime, meningkatkan fleksibiliti pembangunan. 4) Prestasi tinggi dicapai melalui model yang didorong oleh peristiwa dan I/O asynchronous, dan tetap efisien walaupun di bawah kesesuaian yang tinggi. 5) Keselamatan diperbaiki dengan mengasingkan proses permohonan dan mengurangkan pengaruh bersama antara aplikasi.

Menggunakan Unit Nginx: Menggunakan dan Menguruskan AplikasiMenggunakan Unit Nginx: Menggunakan dan Menguruskan AplikasiApr 22, 2025 am 12:06 AM

NginxUnit boleh digunakan untuk menggunakan dan mengurus aplikasi dalam pelbagai bahasa. 1) Pasang nginxUnit. 2) Konfigurasikannya untuk menjalankan pelbagai jenis aplikasi seperti Python dan PHP. 3) Gunakan fungsi konfigurasi dinamik untuk pengurusan aplikasi. Melalui langkah -langkah ini, anda dapat menggunakan dan mengurus aplikasi dengan cekap dan meningkatkan kecekapan projek.

Nginx vs Apache: Analisis Perbandingan Pelayan WebNginx vs Apache: Analisis Perbandingan Pelayan WebApr 21, 2025 am 12:08 AM

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.

Kelebihan Unit Nginx: Fleksibiliti dan PrestasiKelebihan Unit Nginx: Fleksibiliti dan PrestasiApr 20, 2025 am 12:07 AM

NginxUnit meningkatkan fleksibiliti dan prestasi aplikasi dengan konfigurasi dinamik dan seni bina berprestasi tinggi. 1. Konfigurasi dinamik membolehkan konfigurasi aplikasi diselaraskan tanpa memulakan semula pelayan. 2. Prestasi tinggi dicerminkan dalam seni bina yang didorong dan tidak menyekat dan model multi-proses, dan dapat mengendalikan sambungan serentak dengan cekap dan menggunakan CPU multi-teras.

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.

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

Video Face Swap

Video Face Swap

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

Alat panas

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan