🐳 LEMP Stack no Docker

Stack em Funcionamento

Linux + Nginx + MySQL/MariaDB + PHP-FPM

Status dos Serviços

✅ Nginx

Porta 80

✅ PHP-FPM

PHP 8.3 (Ubuntu)

✅ MariaDB

Porta 3306

Teste de Conexão com Banco de Dados

PDO::ERRMODE_EXCEPTION] ); echo "

✅ Conexão com banco de dados bem-sucedida!

"; echo "

Host: $host

"; echo "

Banco: $dbname

"; // Listar tabelas (se houver) $stmt = $pdo->query("SHOW TABLES"); $tables = $stmt->fetchAll(PDO::FETCH_COLUMN); if (count($tables) > 0) { echo "

Tabelas no banco:

"; } else { echo "

Nenhuma tabela encontrada. Execute o script de inicialização em mysql/init.sql

"; } } catch (PDOException $e) { echo "

❌ Erro na conexão: " . $e->getMessage() . "

"; echo "

Verifique se o container MySQL está rodando e as credenciais no arquivo .env

"; } ?>

Informações do PHP

Versão do PHP"; echo "

" . phpversion() . "

"; echo "

Extensiones Carregadas

"; $extensions = get_loaded_extensions(); sort($extensions); echo "

" . implode(", ", $extensions) . "

"; echo "

Configurações Importantes

"; echo "
    "; echo "
  • memory_limit: " . ini_get('memory_limit') . "
  • "; echo "
  • upload_max_filesize: " . ini_get('upload_max_filesize') . "
  • "; echo "
  • post_max_size: " . ini_get('post_max_size') . "
  • "; echo "
  • max_execution_time: " . ini_get('max_execution_time') . "s
  • "; echo "
  • display_errors: " . (ini_get('display_errors') ? 'On' : 'Off') . "
  • "; echo "
  • opcache.enable: " . (ini_get('opcache.enable') ? 'On' : 'Off') . "
  • "; echo "
"; ?>

Como Usar

1. Variáveis de Ambiente

Crie um arquivo .env na raiz com suas configurações:

MYSQL_ROOT_PASSWORD=sua_senha_root
MYSQL_DATABASE=app_db
MYSQL_USER=app_user
MYSQL_PASSWORD=sua_senha_app

2. Comandos Docker

# Iniciar a stack
docker-compose up -d

# Parar a stack
docker-compose down

# Ver logs
docker-compose logs -f

# Reiniciar um serviço
docker-compose restart php

# Executarcomando no container
docker-compose exec php php -v
docker-compose exec mysql mysql -u app_user -p

3. Configuração Nginx

Personalize em nginx/conf.d/default.conf

4. Configuração PHP

Personalize em php/php.ini