一篇文章徹底搞懂Nginx的.conf文件路徑配置
前言:
最近在Nginx上部署Vue項目,同時還存了一些靜態(tài)資源,但我查了好久都沒找到一篇詳細介紹路徑配置的文章,因此就根據(jù)我有限的經(jīng)驗寫了這篇文章,希望能夠?qū)ψx者有所幫助
詳解server中各部分作用及如何配置
如下圖所示,這是我配置好的一個server代碼塊,我這里配置了https,所以會比默認的多一部分內(nèi)容,如果你只需要配置http,則只需關(guān)注紅色方框的部分即可,下面會按順序講解。
①listen項
用來配置端口號的,常見端口號如 http 是80端口, https 是443端口,如圖所示,可以配置多個端口,表示通過這些端口都可以請求到。
注意事項:
如果是80端口或443端口,是不需要寫在路徑中的,因為完整路徑前的http或https就表明了端口;
但如果配置了靜態(tài)資源是其他端口,如 8080 端口,則需要在訪問時加上端口號才能請求到
例子:
配置文件:
訪問路徑:
②server_name項
如果要配置域名就寫域名,沒有域名就寫localhost,這一項決定了訪問路徑中的協(xié)議和端口之間的內(nèi)容,也就是下圖的內(nèi)容(我這里配置了域名)
如果寫的是localhost,則可以在路徑上通過 部署到的電腦的IP地址 進行訪問,就是把上圖的域名替換為ip地址進行請求
③location 后的路徑項
這一項決定了訪問路徑的填寫和訪問到的資源路徑兩方面,后者一般需要和第④項結(jié)合著理解,一下還會提及
簡單而言,我推薦的寫法是 “/+你想寫的符號”,如下:
這里的rotograph就是 “你想寫的符號”
而這個符號決定了訪問路徑,如按上圖,那么我的訪問路徑就是
也就是說這個符號在訪問路徑中處于端口號的后面,而其所訪問的就是你設(shè)置所指向的資源,第④項會說的。
注意事項:
那么當(dāng)我們不寫符號時,也就是 location / 這樣,則在訪問路徑的端口號后不需要任何東西就可以訪問到指定的資源,就是通常理解的“首頁”
而如果我們配置了多個location塊,而其后的符號都是相同的,這時會遵循長路徑優(yōu)先匹配原則,也就是輸入網(wǎng)址,會優(yōu)先匹配到指定資源路徑更長的那個
④root 項
這一項填寫的是根路徑,其實還有另外一項,叫 alias,它們的區(qū)別可以見 root和alias的區(qū)別 這篇文章(不保真)。
這里主要說一下root,它會結(jié)合第③項配置的路徑,從而得到指定要訪問的資源路徑的真實地址。
例子:
那么,我想通過 http://xxx:端口名/rotograph 這個路徑來訪問這個資源怎么辦?
將根路徑設(shè)置成 /usr/show 即可,這里千萬注意不要漏掉前面的 /,寫成 usr/show是不對的。
注意事項:
如果我們在root項中前面沒有寫 /(默認的就沒寫),那么會訪問到哪里呢?
其實Nginx有一個默認站點目錄,一般為 /usr/share/nginx/html ,所以你將默認的文件中的html改成這個路徑,也會返回Nginx的那個頁面,我猜測,如果不寫 /,那么所有root后的配置路徑在訪問時都會在前面被拼接一個 /usr/share/nginx/,如下所示:
這個配置路徑前沒有 / ,那么其訪問的真實資源地址就是下圖紅框中的地址
所以,如果我們想把項目部署到別的目錄,那么配置root項時路徑前一定要加 / !
如下:
這樣配置,就只需將項目部署到如下地址 /webapp/vue1中即可。
⑤index項
這一項最簡單,就是定位到指定資源目錄后,你想展示那個文件,如我設(shè)置 index.html就展示名為 index.html的文件,我也可以設(shè)置成 pic1.jpg,那么就展示一張圖片
注意事項:
配置到index項的文件是不需要在路徑中寫出的,會自動展示,如下:
配置:
訪問效果:
后記
綜上,只要給出想要訪問的資源,那么就很容易配置location塊,只需要將指定資源地址合理劃分就能得到第③項和第④項了,如下:
將紅色框中路徑作為root項,將黃色框中/img作為location后的路徑項,就可以輕松通過 http://ip地址:端口號/img訪問到該目錄啦~
總結(jié)
到此這篇關(guān)于Nginx的.conf文件路徑配置的文章就介紹到這了,更多相關(guān)Nginx .conf文件路徑配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Apache和Nginx的優(yōu)缺點詳解_動力節(jié)點Java學(xué)院整理
Nginx和Apache一樣,都是HTTP服務(wù)器軟件,在功能實現(xiàn)上都采用模塊化結(jié)構(gòu)設(shè)計,都支持通用的語言接口。下面通過本文給大家分享Apache和Nginx比較 功能對比,感興趣的朋友參考下吧2017-08-08使用google-perftools優(yōu)化nginx在高并發(fā)時的性能的教程(完整版)
如果使用googler開發(fā)的google-perftools優(yōu)化Nginx和MySQL的內(nèi)存管理,性能將會有一定程度的提升。特別是對高并發(fā)下的服務(wù)器,效果更明顯2013-02-02nginx配置proxy_pass后返回404問題以及Nginx host相關(guān)變量的說明
這篇文章主要介紹了nginx配置proxy_pass后返回404問題以及Nginx host相關(guān)變量的說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01nginx刷新頁面出現(xiàn)404解決方案(親測有效)
本文主要介紹了nginx刷新頁面出現(xiàn)404解決方案,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03總結(jié)高并發(fā)下Nginx性能如何優(yōu)化
這篇文章主要為大家介紹了在高并發(fā)下Nginx性能如何優(yōu)化的總結(jié)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-10-10nginx中狀態(tài)統(tǒng)計的實現(xiàn)
本文主要介紹了nginx中狀態(tài)統(tǒng)計的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04