diff --git a/tools/deploy/backend-build_app.sh b/tools/deploy/backend-build_app.sh index 3d35504..157fd09 100644 --- a/tools/deploy/backend-build_app.sh +++ b/tools/deploy/backend-build_app.sh @@ -28,6 +28,11 @@ if [ -d "/etc/letsencrypt/live/mnemo-cards.online" ] && [ -f "/etc/letsencrypt/l echo "✅ Let's Encrypt multi-domain сертификаты найдены. Запускаем в HTTPS-only режиме" # Обновляем systemd сервис для HTTPS-only режима sudo sed -i 's|ExecStart=$BACKEND_DIR/server.exe.*|ExecStart=$BACKEND_DIR/server.exe --certs /etc/letsencrypt/live/mnemo-cards.online -a 0.0.0.0 -p 8081|' /etc/systemd/system/mnemo_cards_server.service + + # Инициализируем переменные для отслеживания остановленных сервисов + NGINX_STOPPED=false + APACHE_STOPPED=false + HTTPD_STOPPED=false else echo "⚠️ Let's Encrypt сертификаты не найдены или повреждены. Пытаемся создать..." @@ -98,6 +103,11 @@ else fi fi +# Инициализируем переменные, если они не были установлены +NGINX_STOPPED=${NGINX_STOPPED:-false} +APACHE_STOPPED=${APACHE_STOPPED:-false} +HTTPD_STOPPED=${HTTPD_STOPPED:-false} + # Создаем новую nginx конфигурацию для HTTPS-only режима API # Используем общий multi-domain сертификат mnemo-cards.online cat > /tmp/api-https-only << 'EOF' @@ -153,7 +163,35 @@ EOF # Заменяем старую конфигурацию API на новую sudo cp /tmp/api-https-only /etc/nginx/sites-available/api -sudo nginx -t && sudo systemctl reload nginx + +# Проверяем конфигурацию nginx +echo "🔍 Проверяем конфигурацию nginx..." +if sudo nginx -t; then + echo "✅ Конфигурация nginx валидна" +else + echo "❌ Ошибка в конфигурации nginx!" + exit 1 +fi + +# Гарантируем запуск nginx (используем restart вместо reload для надежности) +echo "🔄 Запускаем/перезапускаем nginx..." +if sudo systemctl is-active --quiet nginx; then + echo "🔄 Перезагружаем nginx..." + sudo systemctl reload nginx +else + echo "🚀 Запускаем nginx..." + sudo systemctl start nginx +fi + +# Проверяем, что nginx запущен +sleep 2 +if sudo systemctl is-active --quiet nginx; then + echo "✅ nginx успешно запущен" +else + echo "❌ Ошибка: nginx не запущен!" + sudo systemctl status nginx --no-pager || true + exit 1 +fi sudo systemctl daemon-reload sudo systemctl start mnemo_cards_server diff --git a/tools/deploy/backend/server_build.sh b/tools/deploy/backend/server_build.sh index 2dd7ab2..b6b8ad9 100644 --- a/tools/deploy/backend/server_build.sh +++ b/tools/deploy/backend/server_build.sh @@ -47,3 +47,29 @@ sudo systemctl start mnemo_cards_server # Check status sleep 2 systemctl status mnemo_cards_server --no-pager + +# Гарантируем, что nginx запущен (важно для работы code.mnemo-cards.online) +echo "🔍 Проверяем статус nginx..." +if sudo systemctl is-active --quiet nginx; then + echo "✅ nginx уже запущен" + # Перезагружаем конфигурацию на всякий случай + if sudo nginx -t 2>/dev/null; then + sudo systemctl reload nginx + echo "✅ Конфигурация nginx перезагружена" + fi +else + echo "⚠️ nginx не запущен, запускаем..." + if sudo nginx -t 2>/dev/null; then + sudo systemctl start nginx + sleep 2 + if sudo systemctl is-active --quiet nginx; then + echo "✅ nginx успешно запущен" + else + echo "❌ Ошибка: не удалось запустить nginx!" + sudo systemctl status nginx --no-pager || true + fi + else + echo "❌ Ошибка в конфигурации nginx!" + sudo nginx -t || true + fi +fi