Wispbyte( MC-Servers 容器环境)TUIC 服务中断恢复总结

📍环境特征

  • 运行在容器环境中(无 systemctl / service 命令)
  • TUIC 程序路径:/home/container/tuic-server
  • 配置文件路径:/home/container/server.toml

🚀 一键恢复启动命令

/home/container/tuic-server -c /home/container/server.toml

执行后若看到输出:

server started, listening on 0.0.0.0:14378
RESTful server started, listening on 127.0.0.1:14378

就表示 TUIC 服务已成功启动并正在监听端口。

🧠 可选的辅助命令

  1. 查看是否运行中 pgrep -fl tuic-server (或使用 top 观察进程)
  2. 后台运行(推荐)
    如果你希望 TUIC 在后台运行,即使退出终端也保持运行,可执行: nohup /home/container/tuic-server -c /home/container/server.toml >/home/container/tuic.log 2>&1 & 🔹 日志将保存到 /home/container/tuic.log
    🔹 进程会在后台持续运行
  3. 查看日志 tail -f /home/container/tuic.log
  4. 停止服务 pkill -f tuic-server

⚙️ 进阶建议(可选)

若你的容器支持自定义启动命令(例如 MC-Servers 控制面板的「Startup Command」设置),
可以直接填入上面的启动命令:

/home/container/tuic-server -c /home/container/server.toml

这样每次容器重启时,TUIC 会自动随容器启动。

我们来为你的环境做一个 自动启动脚本,让 TUIC 在每次容器启动或服务重启时自动运行。以下是完整、简单、可靠的方案👇


🧩 TUIC 自动启动脚本方案

📍1. 创建启动脚本

在你的容器中执行以下命令:

cat > /home/container/start-tuic.sh <<'EOF'
#!/bin/bash
# 🧠 TUIC 自动启动脚本
# 位置: /home/container/start-tuic.sh

CONFIG_FILE="/home/container/server.toml"
TUIC_BIN="/home/container/tuic-server"
LOG_FILE="/home/container/tuic.log"

echo "🔄 启动 TUIC 服务..."
if [ ! -f "$CONFIG_FILE" ]; then
    echo "❌ 未找到配置文件: $CONFIG_FILE"
    exit 1
fi

# 杀掉旧的 TUIC 进程(防止重复启动)
pkill -f "$TUIC_BIN" 2>/dev/null

# 启动 TUIC,并将日志输出到文件
nohup "$TUIC_BIN" -c "$CONFIG_FILE" > "$LOG_FILE" 2>&1 &

echo "✅ TUIC 已启动。日志位置: $LOG_FILE"
EOF

📍2. 赋予执行权限

chmod +x /home/container/start-tuic.sh

📍3. 手动测试

执行启动脚本:

bash /home/container/start-tuic.sh

如果一切正常,你应该看到输出:

🔄 启动 TUIC 服务...
✅ TUIC 已启动。日志位置: /home/container/tuic.log

然后你可以查看日志确认是否运行成功:

tail -f /home/container/tuic.log

📍4. 在控制面板中设置自动启动

在 MC-Servers 控制面板中(https://dash.mc-servers.tech/portal):

  1. 找到该容器的 Startup Command启动命令 设置栏。
  2. 把原来的命令改成: bash /home/container/start-tuic.sh
  3. 保存并重启容器。

这样,每次容器重启或被重建后,TUIC 都会自动运行

🧩 TUIC 自愈守护脚本(自动检测+自动重启)

📍1. 创建守护脚本

在容器中执行以下命令:

cat > /home/container/tuic-guard.sh <<'EOF'
#!/bin/bash
# 🔁 TUIC 守护脚本
# 每隔 5 分钟检测一次 tuic-server 是否运行,不在运行就自动重启

CONFIG_FILE="/home/container/server.toml"
TUIC_BIN="/home/container/tuic-server"
LOG_FILE="/home/container/tuic.log"
START_SCRIPT="/home/container/start-tuic.sh"

while true; do
    if pgrep -f "$TUIC_BIN" >/dev/null 2>&1; then
        echo "$(date '+%F %T') ✅ TUIC 正常运行中。" >> "$LOG_FILE"
    else
        echo "$(date '+%F %T') ⚠️ 检测到 TUIC 未运行,尝试重启..." >> "$LOG_FILE"
        bash "$START_SCRIPT"
    fi
    sleep 300  # 每 300 秒(5分钟)检测一次
done
EOF

📍2. 赋予执行权限

chmod +x /home/container/tuic-guard.sh

📍3. 启动守护进程(推荐后台运行)

nohup bash /home/container/tuic-guard.sh >/home/container/tuic-guard.log 2>&1 &

这会在后台持续运行守护脚本,日志输出会写入 /home/container/tuic-guard.log


📍4.(可选)在控制面板中设为自启动

如果 MC-Servers 支持自定义启动命令,可将「启动命令」改成:

bash /home/container/tuic-guard.sh

这样容器每次启动后,守护进程会自动开始运行,并自动管理 TUIC。


📍5. 查看运行状态

查看守护日志:

tail -f /home/container/tuic-guard.log

你会看到类似:

2025-11-10 12:34:56 ✅ TUIC 正常运行中。
2025-11-10 12:39:57 ⚠️ 检测到 TUIC 未运行,尝试重启...
2025-11-10 12:39:58 ✅ TUIC 已启动。日志位置: /home/container/tuic.log

这样,TUIC 就能 自动检测、自动重启、自动记录日志 🧠
即使你不在服务器旁边,它也会自我恢复。

🧩 一键启动+守护 TUIC 脚本

📍1. 创建一键启动脚本

执行以下命令,在容器中创建一个一键脚本:

cat > /home/container/start-tuic-guard.sh <<'EOF'
#!/bin/bash
# 🔄 一键启动并守护 TUIC 服务 + 自动重启
# 位置: /home/container/start-tuic-guard.sh

CONFIG_FILE="/home/container/server.toml"
TUIC_BIN="/home/container/tuic-server"
LOG_FILE="/home/container/tuic.log"
START_SCRIPT="/home/container/start-tuic.sh"
GUARD_SCRIPT="/home/container/tuic-guard.sh"

# 确保配置文件存在
if [ ! -f "$CONFIG_FILE" ]; then
    echo "❌ 未找到配置文件: $CONFIG_FILE"
    exit 1
fi

# 启动 TUIC 服务
echo "🔄 启动 TUIC 服务..."
bash "$START_SCRIPT"

# 启动 TUIC 守护脚本
echo "🔄 启动 TUIC 守护进程..."
nohup bash "$GUARD_SCRIPT" >/home/container/tuic-guard.log 2>&1 &

echo "✅ TUIC 已启动并开始守护。日志文件: /home/container/tuic-guard.log"
EOF

📍2. 赋予执行权限

chmod +x /home/container/start-tuic-guard.sh

📍3. 启动服务

执行以下命令来启动 TUIC 服务,并同时启动守护脚本:

bash /home/container/start-tuic-guard.sh

📍4. 查看日志

你可以随时查看守护脚本和服务日志:

tail -f /home/container/tuic-guard.log

日志将显示类似:

2025-11-10 12:34:56 ✅ TUIC 正常运行中。
2025-11-10 12:39:57 ⚠️ 检测到 TUIC 未运行,尝试重启...
2025-11-10 12:39:58 ✅ TUIC 已启动。日志位置: /home/container/tuic.log

📍5. 设置自启动(可选)

如果你希望容器每次启动时自动运行这个脚本,可以在 MC-Servers 控制面板中设置自启动命令:

bash /home/container/start-tuic-guard.sh

这样,每次容器启动时,TUIC 将自动启动,并且守护进程会持续运行,确保 TUIC 始终在线。


总结

  • 一键启动:运行 bash /home/container/start-tuic-guard.sh
  • 自动守护:守护脚本会每隔 5 分钟检查 TUIC 是否崩溃,如果崩溃则自动重启。
  • 日志记录:所有状态和错误都会记录在 /home/container/tuic-guard.log 中。


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注