Error: listen EADDRINUSE :::8888
表示的就是listen監聽的端口被占用
查詢什么進程占用了8888端口
sudo fuser -n tcp 8888 (指令一)
或者
netstat -tln | grep 8888 (指令二)
反復執行指令一,總得到不同結果,kill進程不成功
執行指令二
PID TTY STAT TIME COMMAND 這是什么意思呢?
- 查詢無結果,證明3522并沒有啟動任何東西
- 再查幾次發現和指令一一樣
查詢端口使用情況
netstat -tln
top 指令可以查實時的進程占用情況
由于以上方法都沒能解決,所以嘗試修改app.js中的端口號
app.use(function(req, res, next) {res.sendResult(null,404,"Not Found");
});app.listen(8881);
新的報錯來了
Error: connect ETIMEDOUT
問題解決
一條分割線記錄這劃時代的一刻
以上并非端口被占用的原因,而是一開始報的錯:數據庫連接不成功
項目代碼中的數據庫連接配置,host要寫成阿里云的內網IP地址 !!
內網ip地址哪里查?
打開實例列表,公有/私有ip即可見
主要修改了config\default.json
{"config_name" : "develop","jwt_config" : {"secretKey":"itcast","expiresIn":86400},"upload_config":{"baseURL":"http://172.31.***.***:8888","upload_ueditor":"uploads/ueditor","simple_upload_redirect":"http://172.31.***.***/reload"},"db_config" : {"protocol" : "mysql","host" : "172.31.***.***","database" : "itcast","user" : "root","password" : "*******","port" : 3306 }
}
至此,項目就成功跑起來了:
可以用pm2啟動
[root@izm5e0ajic0vbwl1k90qabz server]# cd /var/www/html/vue/server
[root@izm5e0ajic0vbwl1k90qabz server]# pm2 start app.js
項目運行效果
用postman測試接口
這次部署項目花了一周+2天,我真是個小渣渣 😇
宣傳下個人博客主頁:
arwin521.top