您的位置:首頁技術文章
文章詳情頁

關于nginx location配置的問題,root到底是什么

瀏覽:180日期:2024-06-26 13:33:01

問題描述

1、前段時間,學習vue2前后分離項目,demo做好之后,想要本地部署一下(因為沒有linux的機器,只能在win7上模擬部署),但是在學習nginx配置的時候遇到了一個,實在無法理解的問題,nginx的server配置中的root配置,問題是這樣的:按照官方文檔,在win7上啟動了nginx,在瀏覽器中訪問localhost,得到正常的頁面,也就是nginx正常啟動了,然后我開始修改配置。

server {listen 80;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;location / { root html; index app.html app.htm;}location = /img { root dist; index app.html app.htm;}

在一些博客看到,說root的路徑實際是nginx.exe的相對路徑,于是我新建了一個dist文件夾:關于nginx  location配置的問題,root到底是什么][1]和html同級,也按照網上說的匹配優先級,配置了最高的等號,我認為此時如果我訪問http://localhost/img,這個路徑,應該打開的是dist中的app.html這個文件,結果卻報了404,在日志中看到了這句話:

D:nginxnginx-1.12.0/html/img/index.html' is not found//D:nginxnginx-1.12.0是我的安裝目錄

nginx去html文件夾下面找img文件夾的index.html文件;我理解的是,就算去html下面找,那也應該是html/dist/index.html,怎么都不應該是img啊。

所以我就想是不是應該配成絕對路徑,于是修改成下面,殺掉進程,重新啟動:

//日志'D:nginxnginx-1.12.0/html/img/index.html' is not found

還是找這個路徑,感覺我第二個location根本沒匹配的樣子

然后我就去翻官網的指導文檔,看到下面這段:

server { location / {root /data/www; } location /images/ {root /data; }}

然后更頭痛了,官網上的路徑,好像是絕對路徑,可是這個路徑又是怎么來的,在哪新建的,需要配置什么還是需要安裝什么,完全搞不明白這個root了;

其它的正則匹配、優先級、端口、ip以及代理什么的,都能看懂,就是這個root搞不明白怎么回事 .

希望對nginx比較熟的朋友,給我詳細解釋一下這個root到底怎么回事。

1、root路徑怎么回事?2、img配置怎么改,才能訪問dist/app.html?

問題解答

回答1:

root是web根目錄,建議使用絕對路徑,相對路徑受制于nginx的工作目錄,存在不確定性

回答2:

root就是根目錄唄,用絕對路徑,這樣不會出錯

国产综合久久一区二区三区