Files
Ubuntu 32b43f85bd a
2026-07-03 16:58:28 +08:00

152 lines
4.9 KiB
Bash
Executable File

#!/bin/bash
# 玩Android Material Design开发服务器测试脚本
echo "=============================================="
echo "玩Android Material Design开发服务器测试"
echo "=============================================="
echo "测试时间: $(date)"
echo ""
# 测试健康检查
echo "1. 测试健康检查接口..."
HEALTH_STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:3000/health)
if [ "$HEALTH_STATUS" = "200" ]; then
echo " ✅ 健康检查: HTTP $HEALTH_STATUS"
HEALTH_DATA=$(curl -s http://localhost:3000/health)
echo " 状态: $(echo $HEALTH_DATA | jq -r '.status')"
echo " 版本: $(echo $HEALTH_DATA | jq -r '.version')"
echo " 运行时间: $(echo $HEALTH_DATA | jq -r '.uptime')秒"
else
echo " ❌ 健康检查失败: HTTP $HEALTH_STATUS"
fi
echo ""
# 测试首页
echo "2. 测试首页..."
HOME_STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:3000/)
if [ "$HOME_STATUS" = "200" ]; then
echo " ✅ 首页: HTTP $HOME_STATUS"
else
echo " ❌ 首页失败: HTTP $HOME_STATUS"
fi
echo ""
# 测试Material预览页面
echo "3. 测试Material Design预览页面..."
MATERIAL_STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:3000/material_preview.html)
if [ "$MATERIAL_STATUS" = "200" ]; then
echo " ✅ Material预览: HTTP $MATERIAL_STATUS"
else
echo " ❌ Material预览失败: HTTP $MATERIAL_STATUS"
fi
echo ""
# 测试API接口
echo "4. 测试API接口..."
# Banner API
BANNER_STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:3000/api/banner/json)
if [ "$BANNER_STATUS" = "200" ]; then
BANNER_COUNT=$(curl -s http://localhost:3000/api/banner/json | jq '.data | length')
echo " ✅ Banner API: HTTP $BANNER_STATUS (数量: $BANNER_COUNT)"
else
echo " ❌ Banner API失败: HTTP $BANNER_STATUS"
fi
# Hotkey API
HOTKEY_STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:3000/api/hotkey/json)
if [ "$HOTKEY_STATUS" = "200" ]; then
HOTKEY_COUNT=$(curl -s http://localhost:3000/api/hotkey/json | jq '.data | length')
echo " ✅ 热词 API: HTTP $HOTKEY_STATUS (数量: $HOTKEY_COUNT)"
else
echo " ❌ 热词 API失败: HTTP $HOTKEY_STATUS"
fi
# Article API
ARTICLE_STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:3000/api/article/list/0/json)
if [ "$ARTICLE_STATUS" = "200" ]; then
ARTICLE_COUNT=$(curl -s http://localhost:3000/api/article/list/0/json | jq '.data.datas | length')
echo " ✅ 文章 API: HTTP $ARTICLE_STATUS (数量: $ARTICLE_COUNT)"
else
echo " ❌ 文章 API失败: HTTP $ARTICLE_STATUS"
fi
echo ""
# 测试公网访问
echo "5. 测试公网访问..."
PUBLIC_STATUS=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 5 http://129.211.173.87:3000/health)
if [ "$PUBLIC_STATUS" = "200" ]; then
echo " ✅ 公网访问: HTTP $PUBLIC_STATUS"
else
echo " ⚠️ 公网访问: HTTP $PUBLIC_STATUS (可能受网络限制)"
fi
echo ""
# 检查进程状态
echo "6. 检查服务器进程..."
SERVER_PID=$(ps aux | grep "node server.js" | grep -v grep | awk '{print $2}')
if [ -n "$SERVER_PID" ]; then
echo " ✅ 服务器进程运行中 (PID: $SERVER_PID)"
# 检查内存使用
MEMORY_USAGE=$(ps -p $SERVER_PID -o %mem | tail -1)
CPU_USAGE=$(ps -p $SERVER_PID -o %cpu | tail -1)
echo " 内存使用: $MEMORY_USAGE%"
echo " CPU使用: $CPU_USAGE%"
# 检查运行时间
UPTIME_SECONDS=$(ps -p $SERVER_PID -o etime= | awk -F: '{if (NF==2) print $1*60+$2; else if (NF==3) print $1*3600+$2*60+$3}')
echo " 运行时间: $UPTIME_SECONDS秒"
else
echo " ❌ 服务器进程未找到"
fi
echo ""
# 检查端口监听
echo "7. 检查端口监听..."
PORT_LISTEN=$(netstat -tlnp 2>/dev/null | grep :3000 || ss -tlnp 2>/dev/null | grep :3000)
if [ -n "$PORT_LISTEN" ]; then
echo " ✅ 端口3000正在监听"
echo "$PORT_LISTEN" | head -1
else
echo " ❌ 端口3000未监听"
fi
echo ""
# 检查日志文件
echo "8. 检查服务器日志..."
LOG_FILE="/home/ubuntu/wanandroid/uniapp_android/server.log"
if [ -f "$LOG_FILE" ]; then
LOG_SIZE=$(du -h "$LOG_FILE" | cut -f1)
LOG_LINES=$(wc -l < "$LOG_FILE")
echo " ✅ 日志文件存在"
echo " 文件大小: $LOG_SIZE"
echo " 行数: $LOG_LINES"
# 显示最后5行日志
echo " 最后5行日志:"
tail -5 "$LOG_FILE" | sed 's/^/ /'
else
echo " ⚠️ 日志文件不存在"
fi
echo ""
echo "=============================================="
echo "测试完成!"
echo ""
# 汇总结果
echo "访问信息汇总:"
echo "本地访问: http://localhost:3000"
echo "公网访问: http://129.211.173.87:3000"
echo "项目路径: /home/ubuntu/wanandroid/uniapp_android"
echo ""
if [ "$HEALTH_STATUS" = "200" ] && [ "$HOME_STATUS" = "200" ] && [ -n "$SERVER_PID" ]; then
echo "✅ 服务器运行正常!"
exit 0
else
echo "⚠️ 服务器可能存在异常,请检查!"
exit 1
fi