nginx配置靜態(tài)資源的訪問的實(shí)現(xiàn)
比如靜態(tài)資源圖片位于/mnt/software/nginx/html/static/images目錄下,那么nginx.conf中的配置則為:
# 靜態(tài)文件目錄 location /static/images/ { root /mnt/software/nginx/html; try_files $uri $uri/ =404; #找不到時(shí)提示404 }
當(dāng)前端發(fā)起的請求地址中帶有 /static/images/時(shí),則到 /mnt/software/nginx/html目錄下的子目錄/static/images/進(jìn)行查找,圖片存儲(chǔ)的絕對地址為:/mnt/software/nginx/html/static/images/文件名稱。nginx會(huì)將它們組合起來,location部分配置的請求路徑的地址,root配置的該地址在服務(wù)器哪個(gè)根目錄下。
如果nginx使用的是docker運(yùn)行,那么root中配置的地址必須是docker容器中nginx靜態(tài)資源地址,而不是掛載的宿主機(jī)的地址。docker啟動(dòng)命令最好包含掛載地址。像下面的啟動(dòng)命令:
docker run -p 80:80 -p 443:443 --name nginx \ -v /mnt/software/nginx/html:/usr/share/nginx/html \ -v /mnt/software/nginx/logs:/var/log/nginx \ -v /mnt/software/nginx/conf:/etc/nginx \ -v /opt/files/imFilePath:/opt/files/imFilePath \ -d nginx:1.10
上面的啟動(dòng)命令中,將80和443端口映射到主機(jī),如果未映射443端口會(huì)導(dǎo)致https無法訪問,
然后分別將nginx里面的html掛載到宿主機(jī)指定目錄,用于存放前端項(xiàng)目如vue的dist,還有靜態(tài)資源,logs掛載到宿主機(jī)上方便查看nginx日志,還有配置文件,最后一個(gè)/opt/files/imFilePath用于上傳文件也掛載到宿主機(jī)上。
可以在宿主機(jī)目錄 /mydata/nginx/html目錄下新建static文件夾存放靜態(tài)資源如images,css,js。由于 /mydata/nginx/html對應(yīng)docker里邊nginx的/usr/share/nginx/html目錄,會(huì)將資源同步到容器里邊,此時(shí)nginx.conf配置靜態(tài)資源訪問時(shí),只需添加如下代碼:
# 靜態(tài)文件目錄 location /static/images/ { root /usr/share/nginx/html; try_files $uri $uri/ =404; #找不到時(shí)提示404 }
而不是下面的配置:
# 靜態(tài)文件目錄 location /static/images/ { root /mydata/nginx/html; try_files $uri $uri/ =404; #找不到時(shí)提示404 }
location中root
和 alias
的區(qū)別
root:使用 root 指令時(shí),Nginx會(huì)將其值與請求的 URI 拼接起來。例如,訪問 /resource/image/test.png 時(shí),Nginx會(huì)將請求路徑 /resource/image/ 和 root 中指定的路徑 /mnt/files/imFilePath 拼接起來,形成 /mnt/files/imFilePath/resource/image/test.png。
alias:與 root 不同,alias 會(huì)把匹配的路徑直接替換為指定的路徑。適用于靜態(tài)資源路徑的映射。例如,訪問 /resource/image/test.png 時(shí),Nginx會(huì)將請求路徑 /resource/image/替換為 /mnt/files/imFilePath/resource/image/。
alias的配置:
location /resource/image/ { alias /mnt/files/imFilePath/resource/image/; try_files $uri $uri/ =404; }
到此這篇關(guān)于nginx配置靜態(tài)資源的訪問的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)nginx 靜態(tài)資源訪問內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx worker進(jìn)程循環(huán)的實(shí)現(xiàn)
這篇文章主要介紹了nginx worker進(jìn)程循環(huán)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02Nginx服務(wù)器屏蔽與禁止屏蔽網(wǎng)絡(luò)爬蟲的方法
今天小編就為大家分享一篇關(guān)于Nginx服務(wù)器屏蔽與禁止屏蔽網(wǎng)絡(luò)爬蟲的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03詳解Nginx防盜鏈和Nginx訪問控制與Nginx解析php的配置
這篇文章主要介紹了詳解Nginx防盜鏈和Nginx訪問控制與Nginx解析php的配置的相關(guān)資料,這里提供實(shí)例幫助大家,學(xué)習(xí)理解這部分內(nèi)容,需要的朋友可以參考下2017-08-08CentOS環(huán)境下Nginx配置SSL證書實(shí)現(xiàn)https請求詳解
這篇文章主要為大家介紹了Nginx實(shí)戰(zhàn)-配置SSL證書(CentOS環(huán)境),實(shí)現(xiàn)https請求過程步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05Nginx+Tomcat搭建高性能負(fù)載均衡集群的實(shí)現(xiàn)方法
這篇文章主要介紹了Nginx+Tomcat搭建高性能負(fù)載均衡集群的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03NGINX服務(wù)器配置404錯(cuò)誤頁面轉(zhuǎn)向的方法
這篇文章主要為大家詳細(xì)介紹了NGINX服務(wù)器配置404錯(cuò)誤頁面轉(zhuǎn)向的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12nginx提示:500 Internal Server Error錯(cuò)誤的解決方法
本文章來給大家總結(jié)了大量關(guān)于導(dǎo)致nginx中提示500 Internal Server Error錯(cuò)誤的原因總結(jié)與解決方法分析有需要了解的朋友可參考參考2013-04-04