优化start和restart模式
This commit is contained in:
parent
4757aab77d
commit
2346cd86b1
35
jsite.sh
35
jsite.sh
@ -408,14 +408,14 @@ get_site_status() {
|
|||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 检查PM2进程状态
|
# 检查PM2进程状态(避免因为多次输出"0"导致误判)
|
||||||
local pm2_status=$(su - "jingrow" -c "
|
local pm2_count=$(su - "jingrow" -c "
|
||||||
export NVM_DIR=\"\$HOME/.nvm\"
|
export NVM_DIR=\"\$HOME/.nvm\"
|
||||||
[ -s \"\$NVM_DIR/nvm.sh\" ] && \. \"\$NVM_DIR/nvm.sh\"
|
[ -s \"\$NVM_DIR/nvm.sh\" ] && \. \"\$NVM_DIR/nvm.sh\"
|
||||||
pm2 list 2>/dev/null | grep -w '$site_name' | grep -c 'online' || echo '0'
|
pm2 list 2>/dev/null | grep -w '$site_name' | grep 'online' | wc -l
|
||||||
")
|
" | tr -d '\r')
|
||||||
|
|
||||||
if [ "$pm2_status" != "0" ]; then
|
if [ -n "$pm2_count" ] && [ "$pm2_count" -gt 0 ]; then
|
||||||
echo "running"
|
echo "running"
|
||||||
else
|
else
|
||||||
echo "stopped"
|
echo "stopped"
|
||||||
@ -2080,8 +2080,18 @@ build_site() {
|
|||||||
# 启动网站
|
# 启动网站
|
||||||
start_site() {
|
start_site() {
|
||||||
log_info "启动网站: $SITE_NAME"
|
log_info "启动网站: $SITE_NAME"
|
||||||
restart_site
|
|
||||||
return $?
|
if [ "$(get_site_status \"$SITE_NAME\")" = "not_exists" ]; then
|
||||||
|
log_error "网站 $SITE_NAME 不存在"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! start_project_with_pm2; then
|
||||||
|
log_error "网站启动失败"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
log_success "网站 $SITE_NAME 已启动"
|
||||||
}
|
}
|
||||||
|
|
||||||
# 停止网站
|
# 停止网站
|
||||||
@ -2127,13 +2137,18 @@ restart_site() {
|
|||||||
[ -s \"\$NVM_DIR/nvm.sh\" ] && \. \"\$NVM_DIR/nvm.sh\"
|
[ -s \"\$NVM_DIR/nvm.sh\" ] && \. \"\$NVM_DIR/nvm.sh\"
|
||||||
pm2 restart '$SITE_NAME'
|
pm2 restart '$SITE_NAME'
|
||||||
"; then
|
"; then
|
||||||
|
log_warning "pm2 restart 失败,尝试重新创建并启动..."
|
||||||
|
if ! start_project_with_pm2; then
|
||||||
log_error "网站重启失败"
|
log_error "网站重启失败"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
# 如果未运行,则启动
|
# 若未运行,则用PM2创建并启动
|
||||||
start_site
|
if ! start_project_with_pm2; then
|
||||||
return $?
|
log_error "网站启动失败"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 保存PM2进程列表,确保重启后能自动恢复
|
# 保存PM2进程列表,确保重启后能自动恢复
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user