80 lines
1.8 KiB
Markdown
80 lines
1.8 KiB
Markdown
# NAS上数据库连接问题诊断
|
||
|
||
## 当前配置
|
||
|
||
- **数据库地址**: 192.168.0.61:55432
|
||
- **数据库名**: njts_acct
|
||
- **用户**: njts_app
|
||
|
||
## 可能的原因
|
||
|
||
### 1. 网络连接问题
|
||
|
||
- [ ] 确认NAS是否在同一网络中
|
||
- [ ] 检查NAS是否能ping通数据库服务器 (192.168.0.61)
|
||
- [ ] 检查防火墙是否允许5432/55432端口访问
|
||
|
||
### 2. .env 文件缺失或配置不同
|
||
|
||
- [ ] 确认NAS上有 `.env` 文件
|
||
- [ ] 检查NAS上的 `.env` 文件配置是否正确
|
||
- [ ] 确认数据库服务器的IP地址在NAS所在网络中仍然有效
|
||
|
||
### 3. 容器网络问题
|
||
|
||
- [ ] 如果使用Docker,确保容器网络配置正确
|
||
- [ ] 检查容器是否能解析数据库主机名/IP
|
||
|
||
## 排查命令
|
||
|
||
### 在NAS上执行以下命令:
|
||
|
||
```bash
|
||
# 1. 测试网络连接
|
||
ping 192.168.0.61
|
||
|
||
# 2. 测试端口连接 (需要 psql 或 telnet)
|
||
psql -h 192.168.0.61 -p 55432 -U njts_app -d njts_acct
|
||
|
||
# 或使用 telnet(如果可用)
|
||
telnet 192.168.0.61 55432
|
||
|
||
# 3. 查看应用日志
|
||
docker logs njts_backend
|
||
|
||
# 4. 检查容器网络
|
||
docker network ls
|
||
docker network inspect njts_net
|
||
```
|
||
|
||
## 推荐解决方案
|
||
|
||
### 选项A: 使用主机名而不是IP(推荐)
|
||
|
||
编辑 `.env` 文件,将IP地址改为主机名:
|
||
|
||
```
|
||
DB_HOST=db-server # 或具体的主机名
|
||
DB_PORT=55432
|
||
```
|
||
|
||
需要确保DNS能解析该主机名。
|
||
|
||
### 选项B: 确认NAS网络配置
|
||
|
||
- 检查NAS的IP地址范围是否允许与数据库所在网络通信
|
||
- 可能需要调整网络路由或防火墙规则
|
||
|
||
### 选项C: 数据库服务器地址变化
|
||
|
||
- 如果数据库服务器的IP地址在NAS访问时不同,需要更新 `.env`
|
||
- 例如:可能需要用内网IP或DNS名称
|
||
|
||
## 立即检查
|
||
|
||
请告诉我:
|
||
|
||
1. NAS上是否能访问 192.168.0.61:55432?
|
||
2. 应用在NAS上产生的错误日志是什么?
|
||
3. 数据库服务器和NAS是否在同一网络中?
|