This commit is contained in:
Dmitry 2025-11-22 23:34:37 +03:00
parent 5b3ab3993d
commit 8c32da7484
2 changed files with 65 additions and 1 deletions

View file

@ -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

View file

@ -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