This commit is contained in:
2025-09-22 16:07:55 +05:00
parent fa40278a61
commit be5ec5025d
2 changed files with 181 additions and 0 deletions

105
diagnose.sh Normal file
View File

@@ -0,0 +1,105 @@
#!/bin/bash
# Diagnostic script for Ollama issues
echo "🔍 Диагностика проблем с Ollama..."
# Colors
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
echo -e "${BLUE}=== ДИАГНОСТИКА СИСТЕМЫ ===${NC}"
# Check if ollama service exists
echo "1. Проверка существования сервиса..."
if systemctl list-unit-files | grep -q ollama.service; then
echo -e "${GREEN}✅ Сервис ollama.service найден${NC}"
else
echo -e "${RED}❌ Сервис ollama.service НЕ найден${NC}"
fi
# Check service status
echo "2. Статус сервиса..."
systemctl status ollama --no-pager -l
# Check if service is running
echo "3. Активность сервиса..."
if systemctl is-active --quiet ollama; then
echo -e "${GREEN}✅ Сервис активен${NC}"
else
echo -e "${RED}❌ Сервис НЕ активен${NC}"
fi
# Check recent logs
echo "4. Последние логи (последние 10 записей)..."
journalctl -u ollama --no-pager -l | tail -10
# Check if ollama binary exists
echo "5. Проверка бинарного файла ollama..."
if [ -f "/usr/local/bin/ollama" ]; then
echo -e "${GREEN}✅ /usr/local/bin/ollama найден${NC}"
/usr/local/bin/ollama --version
else
echo -e "${RED}❌ /usr/local/bin/ollama НЕ найден${NC}"
fi
# Check if port 11434 is listening
echo "6. Проверка порта 11434..."
if netstat -tuln | grep -q ":11434"; then
echo -e "${GREEN}✅ Порт 11434 прослушивается${NC}"
netstat -tuln | grep ":11434"
else
echo -e "${RED}❌ Порт 11434 НЕ прослушивается${NC}"
fi
# Check API availability
echo "7. Проверка API..."
if curl -s -m 5 http://localhost:11434 >/dev/null 2>&1; then
echo -e "${GREEN}✅ Ollama API доступен${NC}"
else
echo -e "${RED}❌ Ollama API НЕ доступен${NC}"
fi
# Check directory structure
echo "8. Проверка директорий..."
if [ -d "/home/user/ai-server" ]; then
echo -e "${GREEN}✅ /home/user/ai-server существует${NC}"
else
echo -e "${RED}❌ /home/user/ai-server НЕ существует${NC}"
fi
if [ -d "/home/user/ai-server/.ollama" ]; then
echo -e "${GREEN}✅ /home/user/ai-server/.ollama существует${NC}"
ls -la /home/user/ai-server/.ollama
else
echo -e "${YELLOW}⚠️ /home/user/ai-server/.ollama НЕ существует${NC}"
fi
# Check models
echo "9. Проверка моделей..."
if [ -f "/usr/local/bin/ollama" ]; then
echo "Доступные модели:"
/usr/local/bin/ollama list 2>/dev/null || echo "Не удалось получить список моделей"
fi
echo ""
echo -e "${BLUE}=== РЕКОМЕНДАЦИИ ===${NC}"
if ! systemctl is-active --quiet ollama; then
echo -e "${YELLOW}💡 Сервис не запущен. Выполните:${NC}"
echo " sudo ./quick-fix.sh"
echo " или"
echo " sudo ./fix-ollama.sh"
fi
if ! curl -s -m 5 http://localhost:11434 >/dev/null 2>&1; then
echo -e "${YELLOW}💡 API недоступен. Возможные причины:${NC}"
echo " - Сервис не запущен"
echo " - Проблемы с конфигурацией"
echo " - Проблемы с портом 11434"
fi
echo ""
echo -e "${GREEN}🔧 Для исправления выполните: sudo ./quick-fix.sh${NC}"

76
quick-fix.sh Normal file
View File

@@ -0,0 +1,76 @@
#!/bin/bash
# Quick fix script for Ollama service
echo "🚀 Быстрое исправление проблемы Ollama..."
# Colors
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
# Check if we're in the right directory
if [ ! -f "ollama.service" ]; then
echo -e "${RED}❌ Файл ollama.service не найден в текущей директории${NC}"
echo "Убедитесь, что вы находитесь в /home/user/ai-server"
exit 1
fi
# Stop the service first
echo "1. Остановка сервиса Ollama..."
sudo systemctl stop ollama
# Copy the updated service file
echo "2. Копирование обновленного файла сервиса..."
sudo cp /home/user/ai-server/ollama.service /etc/systemd/system/ollama.service
# Reload systemd configuration
echo "3. Перезагрузка конфигурации systemd..."
sudo systemctl daemon-reload
# Create Ollama directory
echo "4. Создание директории .ollama..."
mkdir -p /home/user/ai-server/.ollama
chmod 755 /home/user/ai-server/.ollama
# Start the service
echo "5. Запуск сервиса Ollama..."
sudo systemctl start ollama
# Wait a moment
sleep 3
# Check status
echo "6. Проверка статуса..."
sleep 2
if sudo systemctl is-active --quiet ollama; then
echo -e "${GREEN}✅ Ollama сервис успешно запущен!${NC}"
echo -e "${GREEN}✅ Проблема с /nonexistent исправлена${NC}"
# Test API
echo "7. Тестирование API..."
if curl -s -m 10 http://localhost:11434 >/dev/null 2>&1; then
echo -e "${GREEN}✅ Ollama API работает${NC}"
else
echo -e "${YELLOW}⚠️ API пока недоступен, подождите...${NC}"
fi
# Show available models
echo "8. Доступные модели:"
/usr/local/bin/ollama list 2>/dev/null || echo "Модели загружаются..."
else
echo -e "${RED}❌ Проблемы все еще есть${NC}"
echo "Последние логи:"
sudo journalctl -u ollama --no-pager -l | tail -10
echo ""
echo -e "${YELLOW}💡 Попробуйте запустить диагностику: ./diagnose.sh${NC}"
fi
echo ""
echo -e "${GREEN}🎉 Исправление завершено!${NC}"
echo -e "${BLUE}📋 Что дальше:${NC}"
echo " - Откройте веб-интерфейс: http://your-server-ip:8080"
echo " - Или используйте: curl http://localhost:11434"
echo " - Для диагностики: ./diagnose.sh"