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