佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 解決Nginx端口沖突的排查方法示例

解決Nginx端口沖突的排查方法示例

熱門標(biāo)簽:智能手機(jī) 阿里云 網(wǎng)站建設(shè) 使用U盤裝系統(tǒng) 美圖手機(jī) 硅谷的囚徒呼叫中心 百度競價點擊價格的計算公式 檢查注冊表項

問題描述

一個Spring + Angular前后端分離的項目,使用Nginx進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。

Nginx監(jiān)聽端口8100,前臺端口4200,后臺端口8080。

像往常一樣,提前配置好MySQL、配置好Redis,引入項目的Nginx配置文件,然后啟動前臺、后臺,成功。

接下來出現(xiàn)了問題:前臺發(fā)起的請求,只有極少數(shù)能被后臺接收到,大部分都是404,隨著在瀏覽器中的點擊,控制臺不斷的出現(xiàn)404。

如果只是404,那問題就很簡單,很大可能是Nginx端口轉(zhuǎn)發(fā)設(shè)置錯了。但它的神奇之處就在于,還有那么幾次請求,是能到達(dá)后臺的。

(上圖中,顯示保存成功的時候,后臺確實輸出了相關(guān)的控制臺信息)

其他的小伙伴都沒有出現(xiàn)這個問題,于是開始排查。

排查過程

為了搞清楚是 后端 的問題還是 Nginx 轉(zhuǎn)發(fā)的問題,需要先從瀏覽器的NetWork中看一下這個404是后臺返回的還是Nginx返回的。

經(jīng)過查看,發(fā)現(xiàn)是Nginx返回的。如果是后臺返回的404,會把錯誤信息寫在HTTP請求頭中。

先查看監(jiān)聽端口是否有沖突,使用nginx -T可以查看完整的Nginx配置文件,包括引入的外部文件。

// 測試配置文件是否正確,并輸出完整的配置文件
nginx -T

在輸出的結(jié)果中,只看到一個8100,說明雖然引入了多個項目,但并沒有出現(xiàn)監(jiān)聽端口沖突。

然后筆者打算從Nginx日志中尋找一些蛛絲馬跡。

開啟Nginx的日志模式之后,查看日志文件,發(fā)現(xiàn)了上千條訪問記錄

大多數(shù)都是404,少數(shù)是200,但日志并沒有提供什么有用的信息。

最終,還是在配置文件中發(fā)現(xiàn)了問題:

使用HomeBrew安裝的Nginx,它的全局配置文件中,默認(rèn)的監(jiān)聽端口就是8080,而項目后端占用的端口也是8080。

雖然對于端口監(jiān)聽和端口占用的原理不是很了解,至少可以知道,由于Nginx監(jiān)聽了8080端口,有一部分請求被發(fā)到了Nginx自己那里,另一部分才是發(fā)送到后臺。

所以,修改全局配置文件,改掉默認(rèn)端口,問題解決。

// 修改配置文件
sudo vim /usr/local/etc/nginx/nginx.conf
// 測試配置文件
nginx -t
// 重啟Nginx
nginx -s reload

終于,所有的請求都能達(dá)到后臺了。

總結(jié)

在一開始學(xué)習(xí)XAMPP的時候,就經(jīng)常聽到:“如果80端口沖突,就把端口改掉,比如改成8080”。

可是當(dāng)8080成為了我們的習(xí)慣之后,有些項目也會使用這個端口...因此就要解決沖突問題了。

以后更改默認(rèn)端口的時候,建議改成一個不可能用到的端口,比如10000以上的端口號,避免和項目的端口產(chǎn)生沖突。

到此這篇關(guān)于解決Nginx端口沖突的排查方法示例的文章就介紹到這了,更多相關(guān)Nginx端口沖突的排查方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:湖北 山南 賀州 通遼 湘潭 黃山 懷化 煙臺

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《解決Nginx端口沖突的排查方法示例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    许昌县| 县级市| 和田市| 政和县| 绥芬河市| 安丘市| 永康市| 雷波县| 饶河县| 韩城市| 凌源市| 清新县| 抚远县| 西吉县| 石屏县| 金阳县| 临潭县| 赤水市| 开化县| 时尚| 和田县| 新乡市| 仲巴县| 高雄市| 武鸣县| 房山区| 阿拉善右旗| 凌云县| 肇州县| 海阳市| 大竹县| 朔州市| 陆丰市| 宽甸| 海原县| 绥阳县| 六盘水市| 根河市| 武川县| 朔州市| 延安市|