docker啟動(dòng)nginx無(wú)法訪問(wèn)的問(wèn)題解決
項(xiàng)目場(chǎng)景:
項(xiàng)目相關(guān)背景:在學(xué)習(xí)黑馬springcloud課程的多級(jí)緩存時(shí),使用docker啟動(dòng)nginx容器
問(wèn)題描述
項(xiàng)目中遇到的問(wèn)題:依此使用下列命令部署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問(wèn)路徑,我把include /etc/nginx/conf.d/*.conf;注釋掉,并把老師配置文件中location指令中關(guān)于/和=/50x.html命令復(fù)制到自己的配置文件中
訪問(wèn)結(jié)果如下圖所示:

原因分析:
問(wèn)題的分析:
結(jié)果表示nginx服務(wù)已經(jīng)開(kāi)啟,但出現(xiàn)404錯(cuò)誤,404錯(cuò)誤是請(qǐng)求的網(wǎng)頁(yè)不存在,查看路徑是否配置正確
解決方案:
具體解決方案:
- 解決方案1
取消include /etc/nginx/conf.d/*.conf;注釋?zhuān)▎⒂媚J(rèn)配置),在默認(rèn)配置nx_conf/nginx.conf的default.conf文件中編輯添加自己的訪問(wèn)路徑 - 解決方案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ò)誤,記錄此次遇到問(wèn)題,找出原因,解決方案的步驟以加強(qiáng)本人對(duì)此問(wèn)題的印象。
到此這篇關(guān)于docker啟動(dòng)nginx無(wú)法訪問(wèn)的問(wèn)題解決的文章就介紹到這了,更多相關(guān)docker啟動(dòng)nginx無(wú)法訪問(wèn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker配置MySql環(huán)境的實(shí)現(xiàn)步驟
通過(guò)使用Docker,開(kāi)發(fā)人員可以更容易地構(gòu)建、測(cè)試和交付應(yīng)用程序,同時(shí)減少了環(huán)境配置和依賴(lài)項(xiàng)管理的復(fù)雜性,本文主要介紹了Docker配置MySql環(huán)境的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),感興趣的可以了解一下2024-02-02
Docker鏡像的導(dǎo)入導(dǎo)出代碼實(shí)例
這篇文章主要介紹了Docker鏡像的導(dǎo)入導(dǎo)出代碼實(shí)例,本文實(shí)例講解的很透徹很明了,有需要的同學(xué)可以參考下2021-03-03
Docker容器時(shí)間與宿主機(jī)不一致/宿主機(jī)時(shí)間不同步校驗(yàn)問(wèn)題
在Docker容器中,若未單獨(dú)配置localtime,可能導(dǎo)致時(shí)間與宿主機(jī)不一致,例如UTC與CST(東八區(qū))相差8小時(shí),解決方法包括在啟動(dòng)時(shí)通過(guò)docker run添加時(shí)間參數(shù),使用Dockerfile設(shè)置,或通過(guò)docker-compose配置,對(duì)于已運(yùn)行的容器2024-10-10
Docker?Compose中配置Host網(wǎng)絡(luò)模式的具體方法及注意事項(xiàng)
Docker Compose 是一個(gè)用于定義和運(yùn)行多容器 Docker 應(yīng)用程序的工具,下面這篇文章主要介紹了Docker?Compose中配置Host網(wǎng)絡(luò)模式的具體方法及注意事項(xiàng),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-09-09
使用docker部署mysql并開(kāi)啟binlog的方法
本文介紹了如何使用Docker部署MySQL服務(wù)并配置開(kāi)啟binlog,以便通過(guò)Flink CDC Connector實(shí)現(xiàn)對(duì)MySQL數(shù)據(jù)的實(shí)時(shí)同步,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-02-02
Docker安裝Tomcat無(wú)法訪問(wèn)的問(wèn)題及解決
這篇文章主要介紹了Docker安裝Tomcat無(wú)法訪問(wèn)的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
docker啟動(dòng)報(bào)錯(cuò)205/limit的解決方案
Dcoker啟動(dòng)報(bào)錯(cuò)經(jīng)常能看到 205/limit這個(gè)錯(cuò)誤提示,這是告訴你linux操作系統(tǒng)的文件描述符設(shè)置的和Docker的不匹配,或者是設(shè)置的比較小了,本文介紹了docker啟動(dòng)報(bào)錯(cuò)205/limit的解決方案,需要的朋友可以參考下2024-06-06
centos7更改docker倉(cāng)庫(kù)的方法
這篇文章主要介紹了centos7更改docker倉(cāng)庫(kù)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
docker中配置hosts的方法實(shí)現(xiàn)
本文主要介紹了docker中配置hosts的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04

