修复服务器重启时端口被占用和数据保存问题
This commit is contained in:
57
.trae/documents/修复服务器重启时端口被占用和数据保存问题.md
Normal file
57
.trae/documents/修复服务器重启时端口被占用和数据保存问题.md
Normal file
@@ -0,0 +1,57 @@
|
||||
## 问题分析
|
||||
|
||||
1. **端口被占用问题**:
|
||||
- 服务器重启时提示端口被占用,可能是因为之前的服务器进程没有完全关闭
|
||||
- 从之前的ps aux命令输出中,看到有一个dns-server进程在运行(PID: 233272)
|
||||
- 这导致新的服务器进程无法绑定到相同的端口
|
||||
|
||||
2. **数据保存提示no such file or directory问题**:
|
||||
- 配置文件中statsFile和shield_stats.json的路径格式不一致(有的带./,有的不带)
|
||||
- 可能存在目录创建失败或权限问题
|
||||
- 程序运行时的工作目录与预期不符
|
||||
|
||||
## 修复方案
|
||||
|
||||
1. **解决端口被占用问题**:
|
||||
- 在启动新服务器之前,确保所有旧的服务器进程都已关闭
|
||||
- 可以通过kill命令手动关闭旧进程
|
||||
- 或者在程序中添加自动检测和关闭旧进程的逻辑
|
||||
|
||||
2. **解决数据保存问题**:
|
||||
- 统一配置文件中的文件路径格式,确保所有路径都使用相对路径或绝对路径
|
||||
- 确保createRequiredFiles函数能够正确创建所有必要的目录和文件
|
||||
- 添加错误处理,确保在目录或文件创建失败时能够给出明确的错误信息
|
||||
- 检查程序运行时的工作目录,确保路径解析正确
|
||||
|
||||
## 修复步骤
|
||||
|
||||
1. **关闭旧的服务器进程**:
|
||||
- 使用kill命令关闭旧的dns-server进程
|
||||
- 验证旧进程是否已关闭
|
||||
|
||||
2. **统一配置文件中的文件路径格式**:
|
||||
- 修改配置文件,确保所有文件路径都使用一致的格式
|
||||
- 例如,将所有路径改为相对路径,不带./前缀
|
||||
|
||||
3. **修改createRequiredFiles函数**:
|
||||
- 确保函数能够正确创建所有必要的目录和文件
|
||||
- 添加更详细的错误处理和日志
|
||||
- 确保函数能够处理不同格式的文件路径
|
||||
|
||||
4. **测试修复效果**:
|
||||
- 启动服务器,检查是否能够成功绑定到端口
|
||||
- 检查数据文件是否能够正确保存
|
||||
- 重启服务器,检查是否能够正常启动
|
||||
|
||||
## 预期效果
|
||||
|
||||
- 服务器能够成功启动,不会提示端口被占用
|
||||
- 数据文件能够正确保存,不会提示no such file or directory
|
||||
- 服务器重启时能够正常启动,不会出现相同的问题
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 确保在修改配置文件之前备份原始文件
|
||||
- 确保程序有足够的权限创建和写入文件
|
||||
- 确保在关闭旧进程之前,所有重要的数据都已保存
|
||||
- 测试修复效果时,确保覆盖所有可能的情况
|
||||
Reference in New Issue
Block a user