部署后Redis和mongodb连接失败问题解决方案
来源:10-7 项目部署与域名解析

夜魇丶
2022-12-22
因为踩坑之后百度了很久,解决时间比较长,算是给后面的学生提个醒。
首先上一节的反向代理没成功,当时想着先看这一节,结果发现Redis和mongodb都连不上,就决定先解决一下反向代理没成功的问题。
- 反向代理做完,去掉端口后,nginx的欢迎页面并没有出现。提示连接失败。
原因:如果没有地址写端口号,那么默认是80端口。而我购买的云服务器访问规则里,没有给80端口授权。
解决方案:需要自己手动添加一下,允许80端口。 - Redis连接失败。
原因:考虑到Redis可能没有启动。便单独开了CMD连接服务器。然后启动redis,启动redis后,再启动服务。提示redis连接成功。但是总不能每次都开两个CMD,启动了redis再启动服务。所以希望在启动服务时,一并启动redis。
解决:在package.json中,执行npm run dev时,一并执行redis-server。 - mongoDB连接失败
原因:连接失败后,我把err打印出来。发现提示:err: MongooseServerSelectionError: connect ECONNREFUSED ::1:27017,于是百度了一下。只是为什么这么改,我也不清楚。有知道的可以回复我一下。
解决方案:把config.default.js,mongoPath的locahost改为127.0.0.1
写回答
1回答
-
北瑶
2024-12-30
第一点没问题,就是这样的。
第二点有点问题,redis 默认是当前命令行的生命周期,也就是命令行结束,服务就结束了。你不应该在启动脚本中启动redis,正确的做法是修改配置文件,让 redis 可以再后台运行,不依赖当前命令窗口。
第三点理论来说 localhost 是问题的,可能存在其他情况。
00
相似问题