以下是nginx的默認(rèn)配置文件: server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root /usr/share/nginx/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; #} }
一個(gè)location匹配一個(gè)(一種)url。
匹配到對(duì)應(yīng)的url就轉(zhuǎn)到對(duì)應(yīng)的location中,然后進(jìn)行處理請(qǐng)求。
默認(rèn)的root是/usr/share/nginx/html,也就是會(huì)轉(zhuǎn)到對(duì)應(yīng)的目錄下進(jìn)行處理請(qǐng)求。
但是匹配到有php的文件就沒(méi)有辦法進(jìn)行解析。
這里用到了php-fpm 也就是fastcgi在php下的一個(gè)類(lèi)庫(kù)。
當(dāng)匹配到有.php結(jié)尾的請(qǐng)求的時(shí)候,就將該請(qǐng)求轉(zhuǎn)到fastcgi進(jìn)行處理。
關(guān)于server_name 還糾結(jié)了好久,當(dāng)我在同一操作系統(tǒng)下有兩個(gè)用戶(hù)a和b,兩者都有各自的root目錄進(jìn)行訪問(wèn),并且同時(shí)都配置了各自的server。但是nginx的配置文件是在全局其作用的。那么如果在局域網(wǎng)中c訪問(wèn)這個(gè)服務(wù)器的時(shí)候,那么到底訪問(wèn)哪個(gè)目錄呢?
后來(lái),哥哥告訴我了。
一般在上線的網(wǎng)站中配置nginx的時(shí)候,server_name是域名,根據(jù)不同的域名,nginx自然是知道怎么去轉(zhuǎn)的。
如果是在局域網(wǎng)中用ip進(jìn)行訪問(wèn),如果存在著兩個(gè)server,那么就配置一個(gè)當(dāng)用ip進(jìn)行訪問(wèn)的時(shí)候,默認(rèn)跳轉(zhuǎn)到一個(gè)目錄下就可以了。
自己在線下進(jìn)行折騰的時(shí)候,就配置一個(gè)人server就可以了。
默認(rèn)就會(huì)請(qǐng)求這個(gè)目錄,并用fastccgi進(jìn)行轉(zhuǎn)發(fā)。
在配置nginx的時(shí)候發(fā)現(xiàn)了一個(gè)問(wèn)題,訪問(wèn)的root目錄下,.html結(jié)尾的靜態(tài)文件是可以正常被訪問(wèn)的,.php結(jié)尾的就不行。
后來(lái)才發(fā)現(xiàn),在進(jìn)行配置的時(shí)候,將root變成了局部變量,導(dǎo)致匹配php文件的時(shí)候,找不到root。自然就找不到要訪問(wèn)的文件了。
最后的配置如下:
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選