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)行查找,圖片存儲的絕對地址為:/mnt/software/nginx/html/static/images/文件名稱。nginx會將它們組合起來,location部分配置的請求路徑的地址,root配置的該地址在服務(wù)器哪個根目錄下。
如果nginx使用的是docker運(yùn)行,那么root中配置的地址必須是docker容器中nginx靜態(tài)資源地址,而不是掛載的宿主機(jī)的地址。docker啟動命令最好包含掛載地址。像下面的啟動命令:
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
上面的啟動命令中,將80和443端口映射到主機(jī),如果未映射443端口會導(dǎo)致https無法訪問,
然后分別將nginx里面的html掛載到宿主機(jī)指定目錄,用于存放前端項(xiàng)目如vue的dist,還有靜態(tài)資源,logs掛載到宿主機(jī)上方便查看nginx日志,還有配置文件,最后一個/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目錄,會將資源同步到容器里邊,此時(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會將其值與請求的 URI 拼接起來。例如,訪問 /resource/image/test.png 時(shí),Nginx會將請求路徑 /resource/image/ 和 root 中指定的路徑 /mnt/files/imFilePath 拼接起來,形成 /mnt/files/imFilePath/resource/image/test.png。
alias:與 root 不同,alias 會把匹配的路徑直接替換為指定的路徑。適用于靜態(tài)資源路徑的映射。例如,訪問 /resource/image/test.png 時(shí),Nginx會將請求路徑 /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/Apache服務(wù)器SSL證書自動化部署與續(xù)期實(shí)戰(zhàn)教程
文章主要介紹了手動管理SSL證書的繁瑣和風(fēng)險(xiǎn),特別是證書過期導(dǎo)致的業(yè)務(wù)中斷,文章介紹了如何使用ACME協(xié)議和Certbot工具實(shí)現(xiàn)Nginx和Apache的自動化部署與續(xù)期,感興趣的朋友一起看看吧2026-04-04
linux查找當(dāng)前系統(tǒng)nginx路徑的兩種方法
工作中有很多服務(wù)器, 它們上面裝的 nginx 的路徑也太不相當(dāng), 當(dāng)我們拿到一個不熟悉的服務(wù)器時(shí), 我們怎么知道, 當(dāng)前運(yùn)行的nginx的目錄是哪一個呢,本文小編給大家介紹了兩種linux查找當(dāng)前系統(tǒng)nginx的路徑的方法,需要的朋友可以參考下2023-11-11
深入解析nginx路由location匹配規(guī)則及其優(yōu)先級
Nginx是一款高性能的Web服務(wù)器和反向代理服務(wù)器,它的路由功能是通過location指令來實(shí)現(xiàn)的,location指令用于匹配請求的URL,并將請求轉(zhuǎn)發(fā)到相應(yīng)的處理程序或靜態(tài)文件,需要的朋友可以參考下2023-10-10
Nginx服務(wù)器配置https安全協(xié)議的實(shí)現(xiàn)
HTTP是互聯(lián)網(wǎng)中最常用的協(xié)議,用于從服務(wù)器傳輸超文本到瀏覽器,HTTPS是HTTP的安全版本,本文就來介紹一下Nginx服務(wù)器配置https安全協(xié)議的實(shí)現(xiàn),感興趣的可以了解一下2024-09-09
Nginx+Lua+Redis構(gòu)建高并發(fā)Web應(yīng)用
使用Nginx+Lua+Redis來構(gòu)建高并發(fā)Web應(yīng)用,Curl請求Nginx,Nginx通過Lua查詢Redis,返回json數(shù)據(jù)。2013-10-10
使用Nginx+Tomcat實(shí)現(xiàn)負(fù)載均衡的全過程
很多用到nginx的地方都是作為靜態(tài)伺服器,這樣可以方便緩存那些靜態(tài)文件,比如CSS,JS,html,htm等文件,下面這篇文章主要給大家介紹了關(guān)于使用Nginx+Tomcat實(shí)現(xiàn)負(fù)載均衡的相關(guān)資料,需要的朋友可以參考下2022-05-05

