📍环境特征
- 运行在容器环境中(无 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 服务已成功启动并正在监听端口。
🧠 可选的辅助命令
- 查看是否运行中
pgrep -fl tuic-server(或使用top观察进程) - 后台运行(推荐)
如果你希望 TUIC 在后台运行,即使退出终端也保持运行,可执行:nohup /home/container/tuic-server -c /home/container/server.toml >/home/container/tuic.log 2>&1 &🔹 日志将保存到/home/container/tuic.log
🔹 进程会在后台持续运行 - 查看日志
tail -f /home/container/tuic.log - 停止服务
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):
- 找到该容器的 Startup Command 或 启动命令 设置栏。
- 把原来的命令改成:
bash /home/container/start-tuic.sh - 保存并重启容器。
这样,每次容器重启或被重建后,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中。
发表回复