更多教程与虚拟机导入包请到https://mi-d.cn/1053获取
教程转自大鹏老师非原创,不过大鹏老师的教程比较简单没说清楚怎么操作,我补充点内容。原贴地址https://www.bilibili.com/read/cv26536120/?spm_id_from=333.999.0.0
有要转正上车的可以加大鹏老师的微信,有55折扣。
提供两个教程,一个是已经出现问题的解决教程,一个是防止以后出现问题解决教程。
教程开始
当已经出现问题的解决方法
出现问题时立即解决,如果你没有打开ssh服务,那只能去NAS执行命令或直接reboot重启主机,当然如果没接屏幕之类的也可以直接按电源键等待关机之后再按电源键开机。
1️⃣ 停止 Nginx 服务
打开 SSH 或者直接使用连接到服务器的键盘/显示器。
输入以下命令以确保完全停止 nginx:
/etc/rc.d/rc.nginx stop
2️⃣ 检查 Nginx 进程
输入以下命令来检查是否还有 nginx 进程在运行:
ps -ef | grep "nginx" | grep -v "grep"
3️⃣ 终止 Nginx 进程(如有必要) ️
如果第二步的命令返回了任何内容,执行以下命令来终止 nginx:
/etc/rc.d/rc.nginx term
再次执行第二步的命令以确认 nginx 已经被终止。
4️⃣ 重新启动 Nginx 服务
输入以下命令来重新启动 nginx:
/etc/rc.d/rc.nginx start
通过守护脚本一劳永逸
- UserScript脚本内容,脚本使用教程请往下拉
脚本实际就是一个守护程序,url检测连通性,不通就执行重启nginx。原理很简单但是脚本也很实用。轻松解决问题#!/bin/bash
# WebUI 的 URL替换成Unraid管理地址,如果你是固定ip的话也可以把tank6124替换成UNRAID的ip地址
WEBUI_URL="http://tank6124/"
# 超时时间(秒)
TIMEOUT=10
# 检查 WebUI 是否响应
check_webui() {
curl --max-time $TIMEOUT $WEBUI_URL > /dev/null 2>&1
return $?
}
# 重启 nginx
restart_nginx() {
# 停止 nginx 服务
/etc/rc.d/rc.nginx stop
# 检查 nginx 进程
if ps -ef | grep "nginx" | grep -v "grep" > /dev/null; then
# 终止 nginx 进程
/etc/rc.d/rc.nginx term
fi
# 确保 nginx 已经被终止
while ps -ef | grep "nginx" | grep -v "grep" > /dev/null; do
sleep 1
done
# 重新启动 nginx 服务
/etc/rc.d/rc.nginx start
}
# 主循环
while true; do
# 检查 WebUI
check_webui
if [ $? -ne 0 ]; then
echo "WebUI seems to be unresponsive. Restarting nginx..."
restart_nginx
echo "nginx restarted."
else
echo "WebUI is responsive."
fi
# 等待一段时间再次检查
sleep 60
done - 首先需要先到应用 安装 User Scripts ,并到插件中 点击User Scripts图标
- 创建脚本
- 输入名称 然后点OK
- 点击 螺母图标,并在弹出菜单,选中EDIT SCRIPT
- 如下图所示操作,URL使用主机名可以无视ip变化
- 设置定时运行,点击应用。教程至此结束
问一下,楼主,WEB地址那里,能设置成127.0.0.1嘛,这样无论什么地址只要是打不开了就会重启,这样能用嘛?
我没测试过你可以试试