PHP5-FPM não cria diretório de socket unix dentro de / var / run

6

Configurei meu php5-fpm para vincular a um soquete de domínio unix em /var/run/php5-fpm .

/etc/php5/fpm/pool.d/www.conf

listen = /var/run/php5-fpm/$pool.sock

O problema é que ele não criará automaticamente o diretório php5-fpm . Quando eu reinicio a máquina, o diretório se foi.

Como posso tê-lo criado automaticamente no boot? Ou existe outra solução para este problema?

    
por igorw 18.10.2011 / 15:09

1 resposta

2

  1. Como você provavelmente já descobriu, o / var / run é efêmero por design. Verifique o FHS para obter mais informações sobre ele e outros diretórios.

  2. O diretório / var / run / php5-fpm deve existir antes do php-fpm tentar usar. Nem o php-fpm nem o script de inicialização parecem estar criando, então você terá que entrar.

    A opção mais fácil é ajustar seu script de inicialização para criar o diretório de uma maneira muito específica ao seu ambiente. A desvantagem é que isso adiciona bagagem que você terá que carregar em seu "kit de ferramentas sysadmin".

Existem duas outras opções que estão mais envolvidas, mas seriam soluções permanentes para você e outras pessoas:

  1. Envie um patch para o código fonte php-fpm para verificar a existência do diretório definido nos arquivos .conf. Isso exigirá o conhecimento dos processos de C e PHP para o envio do patch .

  2. Envie um patch para o sistema init da sua distribuição Linux para que ele faça o mesmo. Isso pode ser mais fácil (em comparação com a primeira opção) e provavelmente exigirá conhecimento do shell script e, novamente, dos processos da sua distro para o envio do patch.

Você pode fazer a correção rápida (alterar seus scripts de inicialização) e seguir em frente, mas um bom exercício seria seguir uma das opções permanentes para que outras pessoas possam se beneficiar. É simples o suficiente e você pode ficar viciado em contribuir para projetos de código aberto (se você ainda não fez isso, perdoe minha ignorância).

    
por 14.08.2014 / 11:46

Tags