# 🔍 Diagnóstico do Erro 503 (Service Unavailable)

## ❌ Problema
Erro 503 ao tentar fazer login em `https://gestor.jf.eng.br/api/v1/auth/login`

## 🔍 Possíveis Causas

O erro 503 (Service Unavailable) geralmente indica problemas de infraestrutura, não de código:

### 1. **Servidor Web (Nginx/Apache) não está respondendo**
   - Servidor pode estar down
   - Processo pode ter travado
   - Pode estar sobrecarregado

### 2. **PHP-FPM não está rodando ou travou**
   - Processo PHP-FPM pode ter parado
   - Pode estar sem memória
   - Pode estar com timeout

### 3. **Problema de conexão com banco de dados**
   - Banco pode estar inacessível
   - Conexões esgotadas
   - Timeout de conexão

### 4. **Cache corrompido**
   - Cache de configuração pode estar corrompido
   - Autoload pode estar desatualizado

## ✅ Soluções para Testar

### 1. Verificar Status do Servidor Web (no servidor de produção)

```bash
# Verificar se Nginx está rodando
sudo systemctl status nginx

# Verificar se PHP-FPM está rodando
sudo systemctl status php8.3-fpm
# ou
sudo systemctl status php-fpm

# Ver logs do Nginx
sudo tail -50 /var/log/nginx/error.log

# Ver logs do PHP-FPM
sudo tail -50 /var/log/php8.3-fpm.log
```

### 2. Reiniciar Serviços (no servidor de produção)

```bash
# Reiniciar Nginx
sudo systemctl restart nginx

# Reiniciar PHP-FPM
sudo systemctl restart php8.3-fpm
# ou
sudo systemctl restart php-fpm

# Verificar status após reiniciar
sudo systemctl status nginx
sudo systemctl status php8.3-fpm
```

### 3. Limpar Cache do Laravel (no servidor de produção)

```bash
cd /var/www/gestorstream/backend
php artisan optimize:clear
php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear
```

### 4. Verificar Logs do Laravel (no servidor de produção)

```bash
cd /var/www/gestorstream/backend
tail -100 storage/logs/laravel.log
```

### 5. Verificar Conexão com Banco de Dados

```bash
cd /var/www/gestorstream/backend
php artisan tinker --execute="DB::connection()->getPdo(); echo 'Database connection OK';"
```

### 6. Verificar Espaço em Disco

```bash
df -h
```

### 7. Verificar Memória Disponível

```bash
free -h
```

## 🚨 Solução Rápida (Se o servidor estiver acessível via SSH)

Se você tiver acesso SSH ao servidor de produção, execute:

```bash
cd /var/www/gestorstream/backend
php artisan optimize:clear
sudo systemctl restart nginx
sudo systemctl restart php8.3-fpm
```

## 📝 Nota Importante

O código que foi modificado está **correto** e **sem erros de sintaxe**. O erro 503 é um problema de infraestrutura, não de código.

Se o problema persistir após tentar as soluções acima, pode ser necessário:
- Verificar logs do sistema operacional
- Verificar se há algum processo travado
- Verificar se há problemas de rede
- Verificar se o servidor está sobrecarregado

