wmdjt commited on
Commit
3b540cd
·
verified ·
1 Parent(s): 0554bb7

Update start_server.sh

Browse files
Files changed (1) hide show
  1. start_server.sh +23 -11
start_server.sh CHANGED
@@ -10,6 +10,12 @@ export PATH=$HOME/miniconda/bin:$PATH
10
  # 启动SSH服务(允许远程root访问)
11
  sudo service ssh start
12
 
 
 
 
 
 
 
13
  # 启动GPU监控
14
  sudo gpustat -i 5 &
15
 
@@ -19,8 +25,8 @@ JUPYTER_TOKEN="${JUPYTER_TOKEN:=huggingface}"
19
  NOTEBOOK_DIR="/data"
20
 
21
  # 确保目录存在
22
- sudo mkdir -p $NOTEBOOK_DIR
23
- sudo chmod -R 777 $NOTEBOOK_DIR
24
 
25
  # 启动Jupyter
26
  jupyter labextension disable "@jupyterlab/apputils-extension:announcements" 2>/dev/null || true
@@ -36,14 +42,14 @@ nohup jupyter lab \
36
  --ServerApp.disable_check_xsrf=True \
37
  --LabApp.news_url=None \
38
  --LabApp.check_for_updates_class="jupyterlab.NeverCheckForUpdate" \
39
- --notebook-dir=$NOTEBOOK_DIR > /tmp/jupyter.log 2>&1 &
40
 
41
  # 检查并启动Gradio服务
42
  echo "=== 检查并启动Gradio服务 ==="
43
  if [ -f "app.py" ]; then
44
  for port in 7860 8000 8001 8002; do
45
  echo "启动Gradio服务在端口 $port"
46
- nohup python -m gradio app.py --server-port $port --share > /tmp/gradio_$port.log 2>&1 &
47
  sleep 2
48
  done
49
  else
@@ -58,19 +64,20 @@ SCRIPT_URL="https://raw.githubusercontent.com/yonggekkk/argosbx/main/argosbx.sh"
58
  SCRIPT_PATH="/tmp/argosbx.sh"
59
 
60
  # 下载脚本(添加重试机制)
61
- for i in {1..5}; do
62
- if curl -Ls "$SCRIPT_URL" -o "$SCRIPT_PATH"; then
 
63
  echo "脚本下载成功"
64
  chmod +x "$SCRIPT_PATH"
65
  break
66
  else
67
  echo "下载失败,重试 $i/5"
68
  sleep 2
69
- done
70
  done
71
 
72
  # 检查脚本是否下载成功
73
- if [ -f "$SCRIPT_PATH" ]; then
74
  # 设置环境变量并执行
75
  export nix="y"
76
  export vmpt="35424"
@@ -81,7 +88,12 @@ if [ -f "$SCRIPT_PATH" ]; then
81
 
82
  echo "正在启动Argo服务..."
83
  bash "$SCRIPT_PATH"
84
- echo "=== 完成huggingface.gzmybz.dpdns.org应用服务 ==="
 
 
 
 
 
85
  else
86
  echo "=== 警告:无法下载Argo脚本,跳过此服务 ==="
87
  fi
@@ -95,7 +107,7 @@ echo "GPU监控: 运行中"
95
 
96
  # 保持容器运行
97
  echo "=== 所有服务已启动 ==="
98
- echo "=== 进入交互式Shell ==="
99
 
100
  # 监控进程并保持容器运行
101
  while true; do
@@ -103,6 +115,6 @@ while true; do
103
  # 检查关键进程是否存活
104
  if ! pgrep -f jupyter > /dev/null; then
105
  echo "Jupyter进程停止,尝试重启..."
106
- nohup jupyter lab --ip 0.0.0.0 --port 8006 --no-browser --allow-root --ServerApp.token="$JUPYTER_TOKEN" --notebook-dir=$NOTEBOOK_DIR > /tmp/jupyter.log 2>&1 &
107
  fi
108
  done
 
10
  # 启动SSH服务(允许远程root访问)
11
  sudo service ssh start
12
 
13
+ # 检查并安装gpustat
14
+ if ! command -v gpustat &> /dev/null; then
15
+ echo "安装gpustat..."
16
+ pip install gpustat
17
+ fi
18
+
19
  # 启动GPU监控
20
  sudo gpustat -i 5 &
21
 
 
25
  NOTEBOOK_DIR="/data"
26
 
27
  # 确保目录存在
28
+ sudo mkdir -p "$NOTEBOOK_DIR"
29
+ sudo chmod -R 777 "$NOTEBOOK_DIR"
30
 
31
  # 启动Jupyter
32
  jupyter labextension disable "@jupyterlab/apputils-extension:announcements" 2>/dev/null || true
 
42
  --ServerApp.disable_check_xsrf=True \
43
  --LabApp.news_url=None \
44
  --LabApp.check_for_updates_class="jupyterlab.NeverCheckForUpdate" \
45
+ --notebook-dir="$NOTEBOOK_DIR" > /tmp/jupyter.log 2>&1 &
46
 
47
  # 检查并启动Gradio服务
48
  echo "=== 检查并启动Gradio服务 ==="
49
  if [ -f "app.py" ]; then
50
  for port in 7860 8000 8001 8002; do
51
  echo "启动Gradio服务在端口 $port"
52
+ nohup python -m gradio app.py --server-port "$port" --share > /tmp/gradio_"$port".log 2>&1 &
53
  sleep 2
54
  done
55
  else
 
64
  SCRIPT_PATH="/tmp/argosbx.sh"
65
 
66
  # 下载脚本(添加重试机制)
67
+ for i in 1 2 3 4 5; do
68
+ echo "下载脚本尝试 $i/5"
69
+ if curl -f -L -s "$SCRIPT_URL" -o "$SCRIPT_PATH"; then
70
  echo "脚本下载成功"
71
  chmod +x "$SCRIPT_PATH"
72
  break
73
  else
74
  echo "下载失败,重试 $i/5"
75
  sleep 2
76
+ fi
77
  done
78
 
79
  # 检查脚本是否下载成功
80
+ if [ -f "$SCRIPT_PATH" ] && [ -s "$SCRIPT_PATH" ]; then
81
  # 设置环境变量并执行
82
  export nix="y"
83
  export vmpt="35424"
 
88
 
89
  echo "正在启动Argo服务..."
90
  bash "$SCRIPT_PATH"
91
+ ARGO_RESULT=$?
92
+ if [ $ARGO_RESULT -eq 0 ]; then
93
+ echo "=== 完成huggingface.gzmybz.dpdns.org应用服务 ==="
94
+ else
95
+ echo "=== Argo服务启动失败,错误码: $ARGO_RESULT ==="
96
+ fi
97
  else
98
  echo "=== 警告:无法下载Argo脚本,跳过此服务 ==="
99
  fi
 
107
 
108
  # 保持容器运行
109
  echo "=== 所有服务已启动 ==="
110
+ echo "=== 进入监控模式 ==="
111
 
112
  # 监控进程并保持容器运行
113
  while true; do
 
115
  # 检查关键进程是否存活
116
  if ! pgrep -f jupyter > /dev/null; then
117
  echo "Jupyter进程停止,尝试重启..."
118
+ nohup jupyter lab --ip 0.0.0.0 --port 8006 --no-browser --allow-root --ServerApp.token="$JUPYTER_TOKEN" --notebook-dir="$NOTEBOOK_DIR" > /tmp/jupyter.log 2>&1 &
119
  fi
120
  done