124 lines
3.0 KiB
Bash
124 lines
3.0 KiB
Bash
#!/bin/bash
|
|
# Health check script
|
|
# Verifies that the server installation is successful
|
|
|
|
set -e
|
|
|
|
SERVER_PATH="${1:-.}"
|
|
CHECK_NODE="${2:-false}"
|
|
CHECK_PHP="${3:-false}"
|
|
CHECK_NGINX="${4:-false}"
|
|
|
|
echo "Running health check for server at: $SERVER_PATH"
|
|
|
|
cd "$SERVER_PATH"
|
|
|
|
# Check if server directory exists
|
|
if [ ! -d "." ]; then
|
|
echo "✗ Server directory not found"
|
|
exit 1
|
|
fi
|
|
echo "✓ Server directory exists"
|
|
|
|
# Check Node.js installation
|
|
if [ "$CHECK_NODE" == "true" ]; then
|
|
echo ""
|
|
echo "Checking Node.js installation..."
|
|
|
|
if command -v node &> /dev/null; then
|
|
NODE_VERSION=$(node --version)
|
|
echo "✓ Node.js installed: $NODE_VERSION"
|
|
else
|
|
echo "✗ Node.js not installed"
|
|
exit 1
|
|
fi
|
|
|
|
if command -v npm &> /dev/null; then
|
|
NPM_VERSION=$(npm --version)
|
|
echo "✓ npm installed: $NPM_VERSION"
|
|
else
|
|
echo "✗ npm not installed"
|
|
exit 1
|
|
fi
|
|
|
|
# Check if package.json exists
|
|
if [ -f "package.json" ]; then
|
|
echo "✓ package.json found"
|
|
|
|
# Check if node_modules exists
|
|
if [ -d "node_modules" ]; then
|
|
echo "✓ Node.js dependencies installed"
|
|
else
|
|
echo "✗ Node.js dependencies not installed"
|
|
exit 1
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# Check PHP installation
|
|
if [ "$CHECK_PHP" == "true" ]; then
|
|
echo ""
|
|
echo "Checking PHP installation..."
|
|
|
|
if command -v php &> /dev/null; then
|
|
PHP_VERSION=$(php --version | head -n 1)
|
|
echo "✓ PHP installed: $PHP_VERSION"
|
|
else
|
|
echo "✗ PHP not installed"
|
|
exit 1
|
|
fi
|
|
|
|
if command -v composer &> /dev/null; then
|
|
COMPOSER_VERSION=$(composer --version | head -n 1)
|
|
echo "✓ Composer installed: $COMPOSER_VERSION"
|
|
else
|
|
echo "✗ Composer not installed"
|
|
exit 1
|
|
fi
|
|
|
|
# Check if composer.json exists
|
|
if [ -f "composer.json" ]; then
|
|
echo "✓ composer.json found"
|
|
|
|
# Check if vendor directory exists
|
|
if [ -d "vendor" ]; then
|
|
echo "✓ PHP dependencies installed"
|
|
else
|
|
echo "✗ PHP dependencies not installed"
|
|
exit 1
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# Check nginx installation
|
|
if [ "$CHECK_NGINX" == "true" ]; then
|
|
echo ""
|
|
echo "Checking nginx installation..."
|
|
|
|
if command -v nginx &> /dev/null; then
|
|
NGINX_VERSION=$(nginx -version 2>&1)
|
|
echo "✓ nginx installed: $NGINX_VERSION"
|
|
else
|
|
echo "✗ nginx not installed"
|
|
exit 1
|
|
fi
|
|
|
|
# Check if nginx is running
|
|
if systemctl is-active --quiet nginx 2>/dev/null || pgrep nginx > /dev/null 2>&1; then
|
|
echo "✓ nginx is running"
|
|
else
|
|
echo "⚠ nginx is installed but not running"
|
|
fi
|
|
|
|
# Check nginx configuration
|
|
if sudo nginx -t &> /dev/null; then
|
|
echo "✓ nginx configuration is valid"
|
|
else
|
|
echo "⚠ nginx configuration may have issues"
|
|
fi
|
|
fi
|
|
|
|
echo ""
|
|
echo "✓ Health check passed!"
|
|
exit 0
|