SOFTEDGE / README-RAILWAY.md
akra35567's picture
Upload 37 files
2da3758 verified

🚂 SoftEdge Corporation - Railway Deployment Guide

Problema Identificado

O erro AH00534: apache2: Configuration error: More than one MPM loaded ocorre especificamente no Railway devido a conflitos entre múltiplos MPMs (Multi-Processing Modules) do Apache.

Solução

Use o Dockerfile.railway otimizado especificamente para Railway:

Passos para Deploy no Railway:

  1. Renomeie o Dockerfile:

    mv Dockerfile Dockerfile.original
    mv Dockerfile.railway Dockerfile
    
  2. Commit e Push:

    git add .
    git commit -m "Fix Railway MPM conflict with optimized Dockerfile"
    git push origin main
    
  3. Railway fará automaticamente:

    • Build da imagem Docker otimizada
    • Resolução do conflito de MPMs
    • Deploy bem-sucedido

O que foi alterado no Dockerfile.railway:

✅ Correções Aplicadas:

  1. MPM Fix Robusto:

    RUN service apache2 stop && \
        a2dismod mpm_event 2>/dev/null || true && \
        a2dismod mpm_worker 2>/dev/null || true && \
        a2dismod mpm_prefork 2>/dev/null || true && \
        a2enmod mpm_prefork
    
  2. Configuração Apache Simplificada:

    • Removidos headers de segurança complexos que podem causar conflitos
    • Configuração mínima necessária para Railway
  3. Startup Direto:

    • Removido script de startup complexo
    • Apache iniciado diretamente com apache2-foreground

Verificação

Após o deploy, verifique:

  • ✅ Container inicia sem erros de MPM
  • ✅ Apache responde na porta configurada
  • ✅ Aplicação PHP+React funcionando
  • ✅ Health check passando

Rollback (se necessário)

Para voltar à versão original:

mv Dockerfile Dockerfile.railway
mv Dockerfile.original Dockerfile
git add .
git commit -m "Rollback to original Dockerfile"
git push origin main

Suporte

Se o problema persistir:

  1. Verifique os logs do Railway
  2. Confirme que está usando Dockerfile.railway
  3. Teste localmente: docker build -f Dockerfile.railway -t test . && docker run -p 8080:8080 test

🎯 Esta solução resolve especificamente o conflito de MPMs no Railway mantendo toda a funcionalidade da aplicação.