From 5aba427a080988adaf72e372ec3024c97f868c89 Mon Sep 17 00:00:00 2001 From: jingrow Date: Fri, 8 Aug 2025 07:28:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4http=E5=81=A5=E5=BA=B7?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E5=92=8C=E5=BA=94=E7=94=A8=E8=BF=9B=E7=A8=8B?= =?UTF-8?q?=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install_jsite.sh | 56 ++++-------------------------------------------- 1 file changed, 4 insertions(+), 52 deletions(-) diff --git a/install_jsite.sh b/install_jsite.sh index deb96a5..2328faa 100755 --- a/install_jsite.sh +++ b/install_jsite.sh @@ -894,7 +894,7 @@ start_project_with_pm2() { # 等待应用完全启动 sleep 3 - # 1. 检查端口是否被监听(使用多种方法) + # 检查端口是否被监听(使用多种方法) log_info "检查端口 $project_port 是否被监听..." local port_check=0 local max_port_checks=10 @@ -940,36 +940,8 @@ start_project_with_pm2() { log_success "端口 $project_port 已被监听" - # 2. HTTP健康检查(如果应用支持) - log_info "执行HTTP健康检查..." - local health_check_success=false - local health_check_attempts=0 - local max_health_checks=5 - - # 获取本地IP地址 - local local_ip=$(get_optimal_host_ip) - - while [ $health_check_attempts -lt $max_health_checks ] && [ "$health_check_success" = false ]; do - # 尝试HTTP健康检查 - local http_response=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 5 --max-time 10 "http://$local_ip:$project_port/" 2>/dev/null || echo "000") - - if [ "$http_response" = "200" ] || [ "$http_response" = "302" ] || [ "$http_response" = "404" ]; then - health_check_success=true - log_success "HTTP健康检查通过 (状态码: $http_response)" - else - health_check_attempts=$((health_check_attempts + 1)) - log_info "HTTP健康检查失败 (状态码: $http_response),重试 ${health_check_attempts}/${max_health_checks}" - sleep 2 - fi - done - - # 如果HTTP健康检查失败,但端口已监听,仍然认为启动成功 - if [ "$health_check_success" = false ]; then - log_warning "HTTP健康检查失败,但端口已监听,认为启动成功" - fi - - # 3. 检查PM2进程状态和资源使用情况 - log_info "检查PM2进程状态和资源使用情况..." + # 检查PM2进程状态 + log_info "检查PM2进程状态..." local pm2_status=$(su - jingrow -c " export NVM_DIR=\"\$HOME/.nvm\" [ -s \"\$NVM_DIR/nvm.sh\" ] && \. \"\$NVM_DIR/nvm.sh\" @@ -977,32 +949,12 @@ start_project_with_pm2() { ") if [ "$pm2_status" != "not_found" ]; then - log_success "PM2进程状态正常: $pm2_status" + log_success "PM2进程状态正常" else log_error "PM2进程状态异常" return 1 fi - # 4. 检查应用是否在正常运行(通过进程ID) - local app_pid=$(su - jingrow -c " - export NVM_DIR=\"\$HOME/.nvm\" - [ -s \"\$NVM_DIR/nvm.sh\" ] && \. \"\$NVM_DIR/nvm.sh\" - pm2 list | grep -w '$SITE_NAME' | awk '{print \$6}' || echo '0' - ") - - if [ "$app_pid" != "0" ] && [ -n "$app_pid" ]; then - # 检查进程是否真的在运行 - if kill -0 "$app_pid" 2>/dev/null; then - log_success "应用进程正在运行 (PID: $app_pid)" - else - log_error "应用进程不存在 (PID: $app_pid)" - return 1 - fi - else - log_error "无法获取应用进程ID" - return 1 - fi - log_success "项目已成功启动并监听端口 $project_port" # 保存PM2配置