This commit is contained in:
Iliyan Angelov
2025-12-10 01:36:00 +02:00
parent 2f6dca736a
commit 6a9e823402
84 changed files with 5293 additions and 1836 deletions

139
fix.sh Executable file
View File

@@ -0,0 +1,139 @@
#!/bin/bash
# Quick fix script for services slug page issues
# Fixes:
# 1. Backend ALLOWED_HOSTS (adds gnxsoft.com if missing)
# 2. Frontend standalone mode startup
# 3. Restarts services
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
echo -e "${BLUE}=========================================="
echo "Fixing Services Slug Page Issues"
echo "==========================================${NC}"
echo ""
BACKEND_DIR="/var/www/GNX-WEB/backEnd"
FRONTEND_DIR="/var/www/GNX-WEB/frontEnd"
BACKEND_ENV="$BACKEND_DIR/.env"
# 1. Fix ALLOWED_HOSTS in backend .env
echo -e "${BLUE}[1/3] Fixing backend ALLOWED_HOSTS...${NC}"
if [ -f "$BACKEND_ENV" ]; then
# Check if gnxsoft.com is in ALLOWED_HOSTS
if grep -q "^ALLOWED_HOSTS=" "$BACKEND_ENV"; then
current_hosts=$(grep "^ALLOWED_HOSTS=" "$BACKEND_ENV" | cut -d'=' -f2-)
if echo "$current_hosts" | grep -q "gnxsoft.com"; then
echo -e "${GREEN}✓ gnxsoft.com already in ALLOWED_HOSTS${NC}"
else
echo -e "${YELLOW}Adding gnxsoft.com to ALLOWED_HOSTS...${NC}"
# Add gnxsoft.com if not present
if [[ "$current_hosts" == *"gnxsoft.com"* ]]; then
echo -e "${GREEN}✓ Already present${NC}"
else
# Remove any trailing spaces and add gnxsoft.com
new_hosts="${current_hosts},gnxsoft.com,www.gnxsoft.com"
sed -i "s|^ALLOWED_HOSTS=.*|ALLOWED_HOSTS=$new_hosts|" "$BACKEND_ENV"
echo -e "${GREEN}✓ Added gnxsoft.com and www.gnxsoft.com to ALLOWED_HOSTS${NC}"
fi
fi
else
echo -e "${YELLOW}ALLOWED_HOSTS not found. Adding...${NC}"
echo "ALLOWED_HOSTS=gnxsoft.com,www.gnxsoft.com,localhost,127.0.0.1" >> "$BACKEND_ENV"
echo -e "${GREEN}✓ Added ALLOWED_HOSTS${NC}"
fi
else
echo -e "${RED}✗ Backend .env file not found at $BACKEND_ENV${NC}"
exit 1
fi
echo ""
# 2. Fix frontend startup (standalone mode)
echo -e "${BLUE}[2/3] Fixing frontend startup for standalone mode...${NC}"
cd "$FRONTEND_DIR"
# Check if standalone mode is enabled
if grep -q '"output":\s*"standalone"' next.config.js 2>/dev/null || grep -q "output:.*'standalone'" next.config.js 2>/dev/null; then
echo -e "${GREEN}✓ Standalone mode detected${NC}"
# Check if standalone server exists
if [ ! -f ".next/standalone/server.js" ]; then
echo -e "${YELLOW}Standalone server not found. Rebuilding frontend...${NC}"
NODE_ENV=production npm run build
else
echo -e "${GREEN}✓ Standalone server exists${NC}"
fi
# Stop existing frontend if running
if pm2 list | grep -q "gnxsoft-frontend"; then
echo -e "${YELLOW}Stopping existing frontend...${NC}"
pm2 delete gnxsoft-frontend 2>/dev/null || true
sleep 2
fi
# Start with standalone server
echo -e "${BLUE}Starting frontend with standalone server...${NC}"
PORT=1087 NODE_ENV=production pm2 start node \
--name "gnxsoft-frontend" \
--cwd "$FRONTEND_DIR" \
-- \
".next/standalone/server.js"
echo -e "${GREEN}✓ Frontend started in standalone mode${NC}"
else
echo -e "${YELLOW}⚠ Standalone mode not detected. Using standard startup...${NC}"
# Stop existing frontend if running
if pm2 list | grep -q "gnxsoft-frontend"; then
echo -e "${YELLOW}Stopping existing frontend...${NC}"
pm2 delete gnxsoft-frontend 2>/dev/null || true
sleep 2
fi
# Start with npm start
PORT=1087 NODE_ENV=production pm2 start npm \
--name "gnxsoft-frontend" \
-- start
echo -e "${GREEN}✓ Frontend started in standard mode${NC}"
fi
echo ""
# 3. Restart backend to apply ALLOWED_HOSTS changes
echo -e "${BLUE}[3/3] Restarting backend to apply changes...${NC}"
if pm2 list | grep -q "gnxsoft-backend"; then
pm2 restart gnxsoft-backend
echo -e "${GREEN}✓ Backend restarted${NC}"
else
echo -e "${YELLOW}⚠ Backend not running in PM2${NC}"
fi
echo ""
# Save PM2 configuration
pm2 save
echo -e "${GREEN}=========================================="
echo "Fix Complete!"
echo "==========================================${NC}"
echo ""
echo -e "${BLUE}Summary of changes:${NC}"
echo " 1. ✓ Backend ALLOWED_HOSTS updated"
echo " 2. ✓ Frontend restarted in standalone mode"
echo " 3. ✓ Backend restarted"
echo ""
echo -e "${BLUE}Verification:${NC}"
echo " - Check frontend port: lsof -Pi :1087 -sTCP:LISTEN"
echo " - Check backend port: lsof -Pi :1086 -sTCP:LISTEN"
echo " - Test service page: curl -I https://gnxsoft.com/services/YOUR-SLUG"
echo " - View logs: pm2 logs gnxsoft-frontend --lines 20"
echo ""