安全服務(wù)器是只允許所需數(shù)量的服務(wù)器。理想情況下,我們將通過單獨啟用其他功能來基于最小系統(tǒng)構(gòu)建服務(wù)器。進(jìn)行最少的配置也有助于調(diào)試。如果該錯誤在最小系統(tǒng)中不可用,則分別添加功能,然后繼續(xù)搜索錯誤。
這是運行nginx所需的最低配置:
# /etc/nginx/nginx.confevents {} # event context have to be defined to consider config validhttp {
server {
listen 80;
server_name javatpoint.co www.javatpoint.co *.javatpoint.co;
return 200 “Hello”;
}
Root,Location和try_files指令
Root 指令
root指令用于設(shè)置請求的根目錄,從而允許nginx將傳入的請求映射到文件系統(tǒng)上。
server {
listen 80;
server_name javatpoint.co;
root /var/www/javatpoint.co;
}
它允許nginx根據(jù)請求返回服務(wù)器內(nèi)容:
javatpoint.co:80/index.html # returns /var/www/learnfk.com/index.html
javatpoint.co:80/foo/index.html # returns /var/www/learnfk.com/foo/index.html
Location指令
location指令用于根據(jù)請求的URI(統(tǒng)一資源標(biāo)識符)來設(shè)置配置。
語法為:
location [modifier] path
示例:
location /foo {
# 。..
}
如果未指定修飾符,則將路徑視為前綴,之后可以跟隨任何內(nèi)容。上面的示例將匹配:
/foo
/fooo
/foo123
/foo/bar/index.html
。..
我們還可以在給定的上下文中使用多個location指令:
server {
listen 80;
server_name javatpoint.co;
root /var/www/javatpoint.co;
location/{
return 200 “root”;
}
location /foo {
return 200 “foo”;
}
}
javatpoint.co:80 / # =》 “root”
javatpoint.co:80 /foo # =》 “foo”
javatpoint.co:80 /foo123 # =》 “foo”
javatpoint.co:80 /bar # =》 “root”
Nginx還提供了一些可以與 location 指令結(jié)合使用的修飾符。
修飾符已分配優(yōu)先級:
= - Exact match
^~ - Preferential match
~ && ~* - Regex match
no modifier - Prefix match
首先,nginx將檢查所有精確匹配項。如果不存在,它將尋找優(yōu)先選項。如果此匹配也失敗,則將按其出現(xiàn)順序測試正則表達(dá)式匹配。如果其他所有操作均失敗,則將使用最后一個前綴匹配。
location /match {
return 200 ‘Prefix match: will match everything that starting with /match’;
}
location ~* /match[0-9] {
return 200 ‘Case insensitive regex match’;
}
location ~ /MATCH[0-9] {
return 200 ‘Case sensitive regex match’;
}
location ^~ /match0 {
return 200 ‘Preferential match’;
}
location = /match {
return 200 ‘Exact match’;
}
/match # =》 ‘Exact match’
/match0 # =》 ‘Preferential match’
/match1 # =》 ‘Case insensitive regex match’
/MATCH1 # =》 ‘Case sensitive regex match’
/match-abc # =》 ‘Prefix match: matches everything that starting with /match’
try_files指令
該指令嘗試不同的路徑,并返回找到的任何路徑。
try_files $uri index.html =404;
因此,/foo.html將嘗試按以下順序返回文件:
$uri(/foo.html);
index.html
如果未找到:404
如果我們在服務(wù)器上下文中定義try_files,然后定義查找所有請求的位置,則不會執(zhí)行try_files。發(fā)生這種情況是因為服務(wù)器上下文中的try_files定義了其偽位置,該偽位置是可能的最低特定位置。因此,定義location/ 會比我們的偽位置更具體。
server {
try_files $uri /index.html =404;
location/{
}
}
因此,我們應(yīng)該避免在服務(wù)器上下文中使用try_files:
server {
location/{
try_files $uri /index.html =404;
}
}
責(zé)任編輯:haq
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9596瀏覽量
86968 -
nginx
+關(guān)注
關(guān)注
0文章
161瀏覽量
12441
原文標(biāo)題:Nginx - 最小配置
文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
如何通過優(yōu)化Nginx配置來提高網(wǎng)絡(luò)環(huán)境的安全性
華為 FlexusX 與 Docker+Nginx 的高效整合之路

EulerOS+Nginx+MySQL 部署 GLPI 資產(chǎn)管理系統(tǒng)

nginx+lua+redis實現(xiàn)灰度發(fā)布
Nginx日常運維方法Linux版

「服務(wù)器」Nginx Proxy Manager申請cloudflare泛域名

確保網(wǎng)站無縫運行:Keepalived高可用與Nginx集成實戰(zhàn)

nginx隱藏版本號與WEB服務(wù)器信息

nginx負(fù)載均衡配置介紹

nginx中的正則表達(dá)式和location路徑匹配指南

評論