2024-10-28-【研发】nestjs微服务开发问题集
如何区分开发和生产环境
https://blog.csdn.net/m0_37890289/article/details/135419842
1. 服务调用为何没响应?
- send 调用方需要 return await 才能正常返回微服务响应结果
1 | |
1 | |
2. 微服务部署,consul 网关服务发现
第一步 安装 consul 1.x(服务器中安装)
2.1 通过 docker-compose 安装 consul curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2.2 设置 docker-compose 执行权限 sudo chmod +x /usr/local/bin/docker-compose
2.3 创建 docker-compose.yml 文件 vi docker-compose.yml
2.4 写入以下内容:
1 | |
2.5 启动 consul docker-compose up -d
2.6 验证 consul 运行状态 docker ps
第二步 nestjs 微服务注册
第三步 nestjs 网关发现微服务
第四步 pm2 部署服务
- 为了区分开发环境和生产环境,创建
ecosystem.config.js - 写入配置,启动 pm2 后可写入环境变量
1 | |
- 启动生产服务
pm2 start ecosystem.config.js --env prod --watch
3. 网络安全
consul 服务发现与注册使用内网 iP 互联
- [注意]微服务启动 0.0.0.0 监听外网
1 | |
腾讯云轻量服务器支持同地域内网 ip 互联
防火墙端口,仅需开通内网 ip 访问
常见问题
- 无法连接微服务
1 | |
1.1 微服务自检端口
lsof -i:3001 (如果为 TCP localhost:3001 则需要将微服务启动监听 0.0.0.0)
node\x20/ 158029 root 19u IPv4 901314 0t0 TCP *:3001 (LISTEN)
1.2 主服务访问微服务端口
nmap -p 3001 10.0.0.4
1 | |
1 | |
2024-10-28-【研发】nestjs微服务开发问题集
https://zhangyingxuan.github.io/2024-10-28-【研发】nestjs微服务开发问题集/