docker啟動(dòng)nginx無法訪問的問題解決
項(xiàng)目場景:
項(xiàng)目相關(guān)背景:在學(xué)習(xí)黑馬springcloud課程的多級(jí)緩存時(shí),使用docker啟動(dòng)nginx容器
問題描述
項(xiàng)目中遇到的問題:依此使用下列命令部署nginx容器
docker pull nginx docker volume create nx_conf #新建nginx的nginx.conf配置掛載的數(shù)據(jù)卷 docker volume create nx_html #新建ngxin的html靜態(tài)資源掛載的數(shù)據(jù)卷 docker run --name nx \ -p xxxx:80 \ -v nx_conf:/etc/nginx \ -v nx_html:/usr/share/nginx/html \ -d nginx
使用docker volume inspect nx_conf查看數(shù)據(jù)卷位置
nx_conf數(shù)據(jù)卷目錄下nginx.conf文件如下
user nginx; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; }
老師發(fā)的nginx通用配置文件nginx.conf如下
#user nobody; worker_processes 1; error_log logs/error.log; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
因?yàn)榕渲昧似渌L問路徑,我把include /etc/nginx/conf.d/*.conf;
注釋掉,并把老師配置文件中location
指令中關(guān)于/
和=/50x.html
命令復(fù)制到自己的配置文件中
訪問結(jié)果如下圖所示:
原因分析:
問題的分析:
結(jié)果表示nginx服務(wù)已經(jīng)開啟,但出現(xiàn)404錯(cuò)誤,404錯(cuò)誤是請(qǐng)求的網(wǎng)頁不存在,查看路徑是否配置正確
解決方案:
具體解決方案:
- 解決方案1
取消include /etc/nginx/conf.d/*.conf;
注釋(啟用默認(rèn)配置),在默認(rèn)配置nx_conf/nginx.conf的default.conf文件中編輯添加自己的訪問路徑 - 解決方案2
location指令root html
改成root /usr/share/nginx/html;
- 解決方案3(推薦)
使用docker run命令掛載數(shù)據(jù)卷時(shí)使用-v nx_conf:/etc/nginx/conf.d
掛載默認(rèn)文件目錄
總結(jié)
本人對(duì)nginx文件目錄不熟悉導(dǎo)致的404錯(cuò)誤,記錄此次遇到問題,找出原因,解決方案的步驟以加強(qiáng)本人對(duì)此問題的印象。
到此這篇關(guān)于docker啟動(dòng)nginx無法訪問的問題解決的文章就介紹到這了,更多相關(guān)docker啟動(dòng)nginx無法訪問內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker-compose部署Java應(yīng)用和相關(guān)依賴方式
介紹如何使用docker-compose一鍵部署Java應(yīng)用及依賴,并實(shí)現(xiàn)MySQL數(shù)據(jù)庫的自動(dòng)初始化2024-10-10利用Dockerfile制作個(gè)人的鏡像文件詳細(xì)講解
Docker是一個(gè)開源的應(yīng)用容器引擎,Dockerfile是用來構(gòu)建Docker鏡像的構(gòu)建文件,是由一系列命令和參數(shù)構(gòu)成的腳本,本文將給大家詳細(xì)介紹如何利用Dockerfile制作個(gè)人的鏡像文件,感興趣的同學(xué)可以借鑒參考2023-06-06Windows?Docker部署Kong網(wǎng)關(guān)的實(shí)現(xiàn)步驟
Kong是一個(gè)輕量級(jí)、快速、靈活的云原生API網(wǎng)關(guān),本文主要介紹了Windows?Docker部署Kong網(wǎng)關(guān)的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03淺談Docker基礎(chǔ)之?dāng)?shù)據(jù)管理
這篇文章主要介紹了淺談Docker基礎(chǔ)之?dāng)?shù)據(jù)管理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03dubbo服務(wù)引用創(chuàng)建Invoker代理對(duì)象
這篇文章主要為大家介紹了dubbo服務(wù)引用創(chuàng)建Invoker代理對(duì)象示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08docker Nginx PHP-FPM單機(jī)多站點(diǎn)布署的方法
這篇文章主要介紹了docker Nginx PHP-FPM單機(jī)多站點(diǎn)布署的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07啟動(dòng)docker錯(cuò)誤systemctl status docker.service問題及解決
文章討論了啟動(dòng)Docker和執(zhí)行docker ps命令失敗的問題,但docker -v顯示成功,解決辦法包括在阿里云容器鏡像中找到鏡像加速器或使用公共鏡像地址,默認(rèn)情況下,Docker使用官方地址2025-01-01Docker如何打包本地環(huán)境為tar包給別人使用
這篇文章主要介紹了Docker如何打包本地環(huán)境為tar包給別人使用問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11