2025-11-19 19:59:53 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
# Script to fix backend server port conflict (8443 is used by code-server)
|
|
|
|
|
# Backend should use port 8081
|
|
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
SERVER_IP="147.45.152.129"
|
|
|
|
|
SERVER_USER="root"
|
|
|
|
|
|
|
|
|
|
echo "🔧 Fixing backend server port conflict..."
|
|
|
|
|
echo "Backend will be moved from port 8443 to port 8081"
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
ssh "$SERVER_USER@$SERVER_IP" << 'ENDSSH'
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
echo "📊 Step 1: Checking current port usage..."
|
|
|
|
|
echo "Port 8443:"
|
|
|
|
|
ss -tuln | grep 8443 || echo " Not in use"
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "Port 8081:"
|
|
|
|
|
ss -tuln | grep 8081 || echo " Not in use"
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "🔧 Step 2: Updating backend systemd service to use port 8081..."
|
|
|
|
|
|
|
|
|
|
# Backup current service file
|
|
|
|
|
cp /etc/systemd/system/mnemo_cards_server.service /etc/systemd/system/mnemo_cards_server.service.backup.$(date +%Y%m%d_%H%M%S)
|
|
|
|
|
|
|
|
|
|
# Update port from 8443 to 8081
|
|
|
|
|
sed -i 's/-p 8443/-p 8081/g' /etc/systemd/system/mnemo_cards_server.service
|
|
|
|
|
|
|
|
|
|
echo "Updated service file:"
|
|
|
|
|
cat /etc/systemd/system/mnemo_cards_server.service
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "🔧 Step 3: Checking nginx API configuration..."
|
|
|
|
|
|
|
|
|
|
if [ -f /etc/nginx/sites-available/api ]; then
|
|
|
|
|
echo "Current API nginx config proxy_pass:"
|
|
|
|
|
grep "proxy_pass" /etc/nginx/sites-available/api | head -3
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "Updating nginx to proxy to port 8081..."
|
|
|
|
|
|
|
|
|
|
# Backup nginx config
|
|
|
|
|
cp /etc/nginx/sites-available/api /etc/nginx/sites-available/api.backup.$(date +%Y%m%d_%H%M%S)
|
|
|
|
|
|
2025-11-22 20:05:29 +00:00
|
|
|
# Update proxy_pass to use port 8081 and 127.0.0.1 (IPv4) instead of localhost (IPv6)
|
|
|
|
|
sed -i 's|proxy_pass https://localhost:8443|proxy_pass http://127.0.0.1:8081|g' /etc/nginx/sites-available/api
|
|
|
|
|
sed -i 's|proxy_pass http://localhost:8443|proxy_pass http://127.0.0.1:8081|g' /etc/nginx/sites-available/api
|
|
|
|
|
sed -i 's|proxy_pass http://localhost:8081|proxy_pass http://127.0.0.1:8081|g' /etc/nginx/sites-available/api
|
2025-11-19 19:59:53 +00:00
|
|
|
|
|
|
|
|
echo "Updated proxy_pass:"
|
|
|
|
|
grep "proxy_pass" /etc/nginx/sites-available/api | head -3
|
|
|
|
|
else
|
|
|
|
|
echo "⚠️ API nginx config not found"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "📊 Step 4: Testing nginx configuration..."
|
|
|
|
|
if /usr/sbin/nginx -t 2>&1; then
|
|
|
|
|
echo "✅ nginx config is valid"
|
|
|
|
|
else
|
|
|
|
|
echo "❌ nginx config is invalid, restoring backup..."
|
|
|
|
|
cp /etc/nginx/sites-available/api.backup.$(date +%Y%m%d_%H%M%S | sort -r | head -1) /etc/nginx/sites-available/api
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "🔄 Step 5: Reloading systemd and nginx..."
|
|
|
|
|
systemctl daemon-reload
|
|
|
|
|
systemctl reload nginx
|
|
|
|
|
echo "✅ Reloaded"
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "🚀 Step 6: Starting backend server..."
|
|
|
|
|
systemctl restart mnemo_cards_server
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "⏳ Waiting for server to start..."
|
|
|
|
|
sleep 5
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "📊 Step 7: Checking backend server status..."
|
|
|
|
|
systemctl status mnemo_cards_server --no-pager || true
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "📊 Step 8: Checking if port 8081 is now listening..."
|
|
|
|
|
if ss -tuln | grep 8081; then
|
|
|
|
|
echo "✅ Backend is listening on port 8081"
|
|
|
|
|
else
|
|
|
|
|
echo "⚠️ Backend is not listening on port 8081 yet"
|
|
|
|
|
echo "Checking logs:"
|
|
|
|
|
journalctl -u mnemo_cards_server -n 20 --no-pager
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
ENDSSH
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "✅ Done!"
|
|
|
|
|
echo ""
|
|
|
|
|
echo "📝 Summary:"
|
|
|
|
|
echo " - code-server: 127.0.0.1:8443 (VSCode)"
|
|
|
|
|
echo " - backend: 0.0.0.0:8081 (API)"
|
|
|
|
|
echo ""
|
|
|
|
|
echo "🌐 URLs:"
|
2025-11-19 20:10:22 +00:00
|
|
|
echo " - API: https://api.mnemo-cards.online:8081/"
|
2025-11-19 19:59:53 +00:00
|
|
|
echo " - VSCode: https://vscode.mnemo-cards.online/"
|
|
|
|
|
|