nginx配置文件中location与root访问时的联系
在配置nginx時(shí),由于之前沒(méi)有搞明白整個(gè)訪(fǎng)問(wèn)資源時(shí)所走的路徑,總是會(huì)出現(xiàn)由于測(cè)試所寫(xiě)的url與配置文件中的不統(tǒng)一,導(dǎo)致返回404的狀態(tài)碼。
對(duì)于nginx虛擬主機(jī)來(lái)訪(fǎng)問(wèn)靜態(tài)資源:
?server{
?????????listen 80;
?????????server_name www.wzw.com;
?????????location /www {
?????????????????root /data/;
?????????????????index??index.html;
?????????}
}
這個(gè)配置表示輸入 www.wzw.com:80/www 時(shí)會(huì)訪(fǎng)問(wèn)本機(jī)的/data/www/ 目錄
????server{
??????????listen 8080;
??????????server_name localhost;
??????????location ~ .*\.(gif|jpg|png)$ {
???????????????????root /www2;
??????????}
????}
這個(gè)配置表示輸入 localhost:8080/1.jpg時(shí)會(huì)訪(fǎng)問(wèn)本機(jī)的/www2 目錄
總體而言:root后面的配置相當(dāng)于把瀏覽器中的輸入路徑進(jìn)行了重指。而且在輸入路徑中一定要寫(xiě)上?
????????????????location后面所配置的路徑??
————————————————————————————————————————————————————————————————
nginx root?和 alias?配置區(qū)別
nginx指定文件路徑有兩種方式root和alias,這兩者的用法區(qū)別,使用方法總結(jié)了下,方便大家在應(yīng)用過(guò)程中,快速響應(yīng)。root與alias主要區(qū)別在于nginx如何解釋location后面的uri,這會(huì)使兩者分別以不同的方式將請(qǐng)求映射到服務(wù)器文件上。
[root]
語(yǔ)法:root path
默認(rèn)值:root html
配置段:http、server、location、if
[alias]
語(yǔ)法:alias path
配置段:location
實(shí)例:
location ~ ^/weblogs/ {
?root /data/weblogs/www.ttlsa.com;
?autoindex on;
?auth_basic??????????? "Restricted";
?auth_basic_user_file? passwd/weblogs;
}
?
如果一個(gè)請(qǐng)求的URI是/weblogs/httplogs/www.ttlsa.com-access.log時(shí),web服務(wù)器將會(huì)返回服務(wù)器上的/data/weblogs/www.ttlsa.com/weblogs/httplogs/www.ttlsa.com-access.log的文件。
root會(huì)根據(jù)完整的URI請(qǐng)求來(lái)映射,也就是/path/uri。
因此,前面的請(qǐng)求映射為path/weblogs/httplogs/www.ttlsa.com-access.log。
location ^~ /binapp/ {?
?limit_conn limit 4;
?limit_rate 200k;
?internal;?
?alias /data/statics/bin/apps/;
}
?
alias會(huì)把location后面配置的路徑丟棄掉,把當(dāng)前匹配到的目錄指向到指定的目錄。如果一個(gè)請(qǐng)求的URI是/binapp/a.ttlsa.com/favicon時(shí),web服務(wù)器將會(huì)返回服務(wù)器上的/data/statics/bin/apps/a.ttlsa.com/favicon.jgp的文件。
[warning]
1.?使用alias時(shí),目錄名后面一定要加"/"。
2. alias可以指定任何名稱(chēng)。
3. alias在使用正則匹配時(shí),必須捕捉要匹配的內(nèi)容并在指定的內(nèi)容處使用。
4. alias只能位于location塊中。
?
一般情況下,在location /中配置root,在location /other中配置alias。
?
?
總結(jié)
以上是生活随笔為你收集整理的nginx配置文件中location与root访问时的联系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: /dev/null 2>1 详解
- 下一篇: Oracle的AWR报告分析