問題描述:
在用pm2部署Nuxt項目的時候出了個奇怪的問題
在本地測試的時候是完全正常的 然而部署到服務器上就出錯
pm2明明正常啓動了 且日誌裏沒有任何異常 乾乾淨淨的
而且我已經用Nginx反向代理到了Nuxt默認的3000端口 照理來說是能正常訪問的
然而頁面上明晃晃的502 Bad Gateway還是刺瞎了我的雙眼😤
爲了解決該問題 我甚至還重裝了服務器兩次…浪費了不少時間
今天研究了整整半天 終於找到了解決方法
原因:
Nuxt在啓動時 有默認的IP和端口 且默認的IP是localhost 端口是3000
若不配置 則默認的IP的localhost 也就是127.0.0.1
(localhost是127.0.0.1的別名)
127.0.0.1是本地的環回地址 專供自己訪問自己 這樣我們用外網IP當然是訪問不到了
解決方法:
解決方法很簡單 就是改一下Nuxt默認的主機地址 改爲0.0.0.0
即可
0.0.0.0意味着監聽每一個可用的網絡接口 這樣 無論是內網還是外網都可以訪問了
在nuxt.config.js裏 和head屬性平級 添加server的配置:
(當然你也可以順便改一下端口🤣)
server: {
port: 3000,
host: '0.0.0.0',
},