部署后Redis和mongodb连接失败问题解决方案

来源:10-7 项目部署与域名解析

夜魇丶

2022-12-22

因为踩坑之后百度了很久,解决时间比较长,算是给后面的学生提个醒。
首先上一节的反向代理没成功,当时想着先看这一节,结果发现Redis和mongodb都连不上,就决定先解决一下反向代理没成功的问题。

  1. 反向代理做完,去掉端口后,nginx的欢迎页面并没有出现。提示连接失败。
    原因:如果没有地址写端口号,那么默认是80端口。而我购买的云服务器访问规则里,没有给80端口授权。
    解决方案:需要自己手动添加一下,允许80端口。
    图片描述
  2. Redis连接失败。
    原因:考虑到Redis可能没有启动。便单独开了CMD连接服务器。然后启动redis,启动redis后,再启动服务。提示redis连接成功。但是总不能每次都开两个CMD,启动了redis再启动服务。所以希望在启动服务时,一并启动redis。
    解决:在package.json中,执行npm run dev时,一并执行redis-server。
    图片描述
  3. 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 是问题的,可能存在其他情况。

0
0

Node.js工程师养成计划 保姆级教程 快速入门实战收尾

保姆级教程,从0起步,吃透Node完整技术体系

257 学习 · 94 问题

查看课程