您好,登錄后才能下訂單哦!
這篇“Laravel-Sail開發中hosts文件配置錯誤怎么辦”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Laravel-Sail開發中hosts文件配置錯誤怎么辦”文章吧。
今天將一個項目的源碼拉下來,使用新的 Laravel-Sail 開發環境,之前的 Homestead 開發環境現在僅做備用了。剛開始一切都很順利,依賴安裝、容器啟動、數據遷移,然后我高高興興的將開發用的域名配置到 hosts 文件中:
127.0.0.1 devocus.test
打開瀏覽器,訪問: http://devocus.test:8016
,本以為一切順利,但是卻發現頁面一直處于加載狀態,隔了差不多 30 秒才將完整的界面加載出來,我百思不得其解,其他幾個項目我都是用的 Laravel-Sail 開發環境,幾乎都是秒開,這個項目是腫么了?
然后我打開瀏覽器開發者工具,發現所有的請求都需要 30 秒以上,難道遇到了文件 IO 問題?但是我項目是放在 Ubuntu 子系統中的呀。網絡問題?那其他幾個項目又完全正常呀。我嘗試著各種可能的解決辦法,改文件權限、關閉ladder、刪除并重新創建容器等等,一頓折騰下來,毫無結果。
于是安裝了 Telescope,查看每個請求的詳細情況,打開 Telescope 速度也非常慢,我等待了大概一分鐘,Telescope 的界面終于加載出來了。但是查詢結果令我非常意外:
Telescope 顯示,每個請求的處理速度都很快,數據查詢也很快,我佛了…
于是找同事的電腦試一下,開發環境都是 Laravel-Sail 沒想到他的電腦上訪問也同樣十分緩慢,這直接將我們的思維引導到 “項目代碼有問題” 這個方向上,于是我花了一上午時間仔細對比檢查各種配置文件、env文件,升級了 laravel 以及各種依賴的版本。但是當我每次滿懷期待的在瀏覽器打開應用時,還是卡的讓我懷疑人生,而且日志記錄一切正常。然后使用搜索引擎嘗試搜索這個問題的解決方案,中文搜索、英文搜索都沒有結果。一個上午過去了,還是沒有搞定這個問題,甚至一股絕望感涌上心頭。
最后還是決定去吃午飯,先讓自己放松下來。吃完飯回來的路上,我又一次思考這個問題,腦袋里各種搜索出來的答案一條一條閃過,突然一個單詞從我眼前“飛過”:hosts
。
回到工位上我打開電腦,想著先用 ip 直接訪問應用看看情況,于是在瀏覽器輸入http://127.0.0.1:8016
,界面被急速打開,我大概有點眉目了,于是打開 hosts 文件,想著換個域名試試:
# 127.0.0.1 devocus.test 127.0.0.1 ifocus-dev.test
然后打開瀏覽器,輸入http://ifocus-dev.test:8016
,應用被快速打開,非常流暢,問題就這樣莫名其妙的解決了。
但是問題出在哪里呢?我再次打開 hosts 文件,仔細檢查,發現之前做過的同一個域名的解析靜靜地躺在 hosts 文件里面,我將開發環境由 Homestead 遷移到 Laravel-Sail時,忘記修改 hosts 文件了:
... 192.168.10.10 devocus.test ... # 127.0.0.1 devocus.test 127.0.0.1 ifocus-dev.test
在 hosts 文件中,同一個域名解析到兩個 ip 會發生什么情況呢?我去搜索引擎上搜索了一下,找到了答案:
電腦在hosts文件中是由上往下查找 IP,相同的域名取第一個 IP,如果第一個IP受阻,那么會轉向第二個IP,乃至第N個,但是這種方式達不到負載均衡的效果,但可以增大打開網站的幾率。
由于我將 devocus.test
解析到了兩個IP地址:192.168.10.10 及127.0.0.1,當我在瀏覽器中打開http://devocus.test
時,首先訪問 192.168.10.10,但是由于我的 Homestead 是關閉狀態,所以肯定訪問失敗,這個過程持續30秒左右,然后系統又去 hosts 文件中繼續查找其他的IP,找到并訪問 127.0.0.1 時才打開了網頁。因為每個請求都要經過這個過程,所以我會感覺到系統非常的卡頓。
以上就是關于“Laravel-Sail開發中hosts文件配置錯誤怎么辦”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。