修复start模式无法启动jsite前端的问题

This commit is contained in:
jingrow 2025-08-10 21:05:16 +08:00
parent 0d1f239629
commit e5016f61eb

View File

@ -1521,15 +1521,36 @@ start_site() {
log_warning "未找到构建产物,建议先执行构建: $0 --mode build --site-name $SITE_NAME"
fi
# 使用PM2启动设置端口环境变量
if ! su - "jingrow" -c "
# 检查PM2中是否已存在同名进程
local pm2_exists=$(su - "jingrow" -c "
export NVM_DIR=\"\$HOME/.nvm\"
[ -s \"\$NVM_DIR/nvm.sh\" ] && \. \"\$NVM_DIR/nvm.sh\"
cd '$JSITE_BASE_DIR/$SITE_NAME'
PORT=$port pm2 start npm --name '$SITE_NAME' -- start
"; then
log_error "网站启动失败"
return 1
pm2 list 2>/dev/null | grep -w '$SITE_NAME' | wc -l || echo '0'
")
if [ "$pm2_exists" != "0" ]; then
# 如果PM2中已存在进程使用restart
log_info "PM2中已存在进程使用restart模式..."
if ! su - "jingrow" -c "
export NVM_DIR=\"\$HOME/.nvm\"
[ -s \"\$NVM_DIR/nvm.sh\" ] && \. \"\$NVM_DIR/nvm.sh\"
pm2 restart '$SITE_NAME'
"; then
log_error "网站重启失败"
return 1
fi
else
# 如果PM2中不存在进程使用start
log_info "使用PM2启动新进程..."
if ! su - "jingrow" -c "
export NVM_DIR=\"\$HOME/.nvm\"
[ -s \"\$NVM_DIR/nvm.sh\" ] && \. \"\$NVM_DIR/nvm.sh\"
cd '$JSITE_BASE_DIR/$SITE_NAME'
pm2 start npm --name '$SITE_NAME' -- start
"; then
log_error "网站启动失败"
return 1
fi
fi
# 等待启动完成