server {
listen 80;
server_name www.yang.com;
#虛擬機主機重點,一樣的ip端口,虛擬機主機就是靠這邊的域名來路由內(nèi)容的
root /yang/;
#根目錄
index index.html index.php;
access_log /yang/yang_com_access.log main;
location / {
}
}
#虛擬機主機只需要在conf.d目錄里 另起一個.conf 文件,里面把server段配好就行了,如果是相同ip端口 用域名來區(qū)分,就像上面代碼一樣
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供紅崗網(wǎng)站建設、紅崗做網(wǎng)站、紅崗網(wǎng)站設計、紅崗網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、紅崗企業(yè)網(wǎng)站模板建站服務,10多年紅崗做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
#這些字段是控制日志輸出內(nèi)容的
$remote_addr變量:記錄了客戶端的IP地址(普通情況下)。
$remote_user變量:當nginx開啟了用戶認證功能后,此變量記錄了客戶端使用了哪個用戶進行了認證。
$time_local變量:記錄了當前日志條目的時間。
$request變量:記錄了當前http請求的方法、url和http協(xié)議版本。
$status變量:記錄了當前http請求的響應狀態(tài),即響應的狀態(tài)碼,比如200、404等響應碼,都記錄在此變量中。
$body_bytes_sent變量:記錄了nginx響應客戶端請求時,發(fā)送到客戶端的字節(jié)數(shù),不包含響應頭的大小。
$http_referer變量:記錄了當前請求是從哪個頁面過來的,比如你點了A頁面中的超鏈接才產(chǎn)生了這個請求,那么此變量中就記錄了A頁面的url。
$http_user_agent變量:記錄了客戶端的軟件信息,比如,瀏覽器的名稱和版本號。
#設置訪問日志的存儲路徑,error_log 是設置錯誤日志的
優(yōu)先級
= 精確匹配:用于標準uri前,要求請求字符串和uri嚴格匹配。如果匹配成功就停止匹配,立即執(zhí)行該location里面的請求。
~ 正則匹配:用于正則uri前,表示uri里面包含正則,并且區(qū)分大小寫。
~* 正則匹配:用于正則uri前,表示uri里面包含正則,不區(qū)分大小寫。
^~ 非正則匹配;用于標準uri前,nginx服務器匹配到前綴最多的uri后就結束,該模式匹配成功后,不會使用正則匹配。
無 普通匹配(\);與location順序無關,是按照匹配的長短來取匹配結果。若完全匹配,就停止匹配。
PS: 優(yōu)先級從高到低
1 “=”精準匹配
location = /news/ {
echo "test1";
}
[root@www quail]# curl 192.168.249.132/news/
test1
2 "~"區(qū)分大小寫正則匹配
location ~ \.(html) {
echo 'test2';
}
location ~ \.(htmL) {
echo 'test3';
}
[root@www quail]# curl 192.168.249.132/index.html
test2
[root@www quail]# curl 192.168.249.132/index.htmL
test3
3 “~*”不區(qū)分大小寫的正則匹配
location ~* \.(html){
echo 'test4';
}
[root@www quail]# curl 192.168.249.132/index.htmL
test4
[root@www quail]# curl 192.168.249.132/index.html
test4
4 “^~”不進行正則匹配的標準匹配,只匹配前綴
location ^~ /index/ {
echo 'test5';
}
[root@www quail]# curl 192.168.249.132/index/
test5
[root@www quail]# curl 192.168.249.132/index/heihei
test5
[root@www quail]# curl 192.168.249.132/index/asdnmkalsjd
test5
5 普通匹配
location / {
echo 'test6';
}
[root@www quail]# curl 192.168.249.132
test6