1. 程式人生 > 其它 >Docker部署Nginx啟動成功,瀏覽器拒絕訪問

Docker部署Nginx啟動成功,瀏覽器拒絕訪問

今天下午部署完tomcat和mysql之後就接著部署Nginx,本以為Nginx也和之前兩個一樣簡單,但是就因為標題這個問題,花費了我一個小時糾錯。

過程復現:

解決完上一篇部落格(https://www.cnblogs.com/Cra2iTeT/p/16131946.html)的掛載檔案問題之後,立馬就啟動了服務,興高采烈到瀏覽器輸入xxxx.xxx.xxxx(我個人的地址),結果

 

 Nginx無情的拒絕了我的訪問。他無情但是我得有意呀,這個網站我今天勢必要開啟。

思路1:

我以為是埠映射出現了問題,畢竟之前tomcat想要訪問還得把對應埠永久開啟,我就搗鼓了一陣子,可是我部署tomcat的時候就連帶著把防火牆給關了呀,所以這條路X了。

思路2:

不是埠對映有問題,那會不會是nginx自己有問題呢?我又使用下面的語句啟動了另外一個nginx服務,你猜怎麼著?瀏覽器居然放他過了。

docker run --name test -p:80:80 -d nginx

 

 為什麼就不能放我過呢?

思路3:

誒,你這個啟動語句有問題啊,版本都沒指定,你要是指定了版本我肯定給你過呀。

docker run -id --name=c_nginx -p 80:80 \
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
-v $PWD/conf/conf.d:/etc/nginx/conf.d:ro \
-v $PWD/html:/usr/share/nginx/html:rw \
-v $PWD/logs:/var/log/nginx \ nginx

啟動。

 

 你故意找茬是吧?卒。

最後解:

我之所以寫這個啟動語句也是因為之前遇到無法掛載檔案問題的時候查看了別人的部落格,他們的部落格都是這種形式的啟動語句

-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /data/nginx/conf/conf.d:/etc/nginx/conf.d:ro \
-v /data/nginx/html:/usr/share/nginx/html:rw \
-v /data/nginx/logs:/var/log/nginx -d nginx

既然別的可能都被排除了,就只可能是這些配置有問題咯。

我又想起來教學視訊的啟動語句是

docker run -id --name=c_nginx -p 80:80 \
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
-v $PWD/html:/usr/share/nginx/html:rw \
-v $PWD/logs:/var/log/nginx \
nginx:1.21.6

這樣的,把多的這句話去了果然就好了。

總結:

當我遇到這個問題的時候,我的瀏覽器至少開啟過三四十個新視窗,但是都沒有一個能夠解決我問題的。雖然一兩個小時的時間被耗在了這樣簡單的問題上,但是也不是沒有收穫的。如果我按照視訊演示的那樣,安裝和老師相同的版本,我就不會遇到掛載檔案問題,也就不會有今天這個問題,那我之後再遇到相同情形的時候照樣得花不少時間解決,我現在就發現了問題並且解決了問題,寫下了解決的辦法和思考過程,嗯...怎麼不算收穫呢?