Eu sou relativamente novo no mundo do gerenciamento / administração de servidores web da linha de comando unix.
Muitos hosts com opções de administração do painel de controle permitem alterar como o PHP é executado com uma opção simples.
As opções mais comuns são:
- módulo apache
- Aplicação CGI
- Aplicação FastCGI
Minha pergunta é simples: como você muda isso através da linha de comando? Eu sei que existem muitos arquivos de configuração para o apache.
A coisa mais próxima que encontrei é essa pergunta , no entanto, a estrutura de diretórios parece não corresponder ao meu sistema operacional (Ubuntu 12.04).
Estou perplexo com o fato de não parecer um guia claro que eu possa achar que detalha esse processo para algo que parece ser tão comum. Perdoe-me se isso existe ... se sim, por favor, aponte-me na direção certa.
fonte
Respostas:
Obrigado pelas respostas anteriores, eles me ajudaram bastante, mas para fazer as coisas funcionarem eu tive que combinar instruções de alguns lugares, então pensei em escrever um conjunto completo de comandos.
Para sua informação, estou executando o Ubuntu 14.04, Apache 2.4, e também tinha o modphp em execução por padrão. As instruções anteriores também deixaram de fora a necessidade de desativar o modphp.
Também achei http://blog.starcklin.com/2013/08/install-mod-fastcgi-and-php5-fpm-on-ubuntu/ muito informativo e direto.
Basta executar os seguintes comandos em um terminal, um após o outro.
Primeiro instale os pacotes necessários (deixo de fora o php5, pois ele assume que ele já está instalado, adicione-o novamente para uma instalação inicial). Observe também a partir do Apache 2.4, você pode usar o event-mpm em vez de worker, consulte http://www.vps.net/blog/2013/04/08/apache-mpms-prefork-worker-and-event/ . Meu exemplo mostra worker, mas substitua a palavra worker por event, se você preferir usá-lo.
Agora ative os mods necessários e desative os que não são necessários.
Crie o arquivo php5.fcgi e dê ao servidor web permissão para usá-lo.
Crie uma configuração global para php5-fpm
cole o seguinte (usaremos um soquete em vez do endereço IP)
Habilite o php5-fpm conf
Reinicie o apache e o fpm
Conforme outras instruções, cole o seguinte em um novo arquivo php navegável no servidor da web.
Abra o arquivo que você acabou de editar em um navegador da Web. Se vir "FPM / FastCGI" ao lado da API do servidor, agora você está servindo PHP com FastCGI!
fonte
Finalmente encontrei um bom tutorial voltado para fazer exatamente isso. Vou descrever as etapas que eu segui, já que minha pilha LAMP foi instalada, mas o tutorial completo pode ser encontrado aqui .
Nota para o novo:
No tutorial, ele começa alternando para o usuário root com:
No meu caso, simplesmente prefixei esses comandos em
sudo
vez de alternar entre usuários, portanto, documentarei meus passos dessa maneira.Início
Etapa 1: Instalar o MPM do Apache Worker (Módulos de vários processos)
Isso substitui o prefork que eu tinha instalado, que é o padrão ao instalar o Apache.
Etapa 2: Instale o PHP5 e os módulos necessários
Neste ponto, você pode receber um erro ao instalar o 'libapache2-mod-fastcgi':
Esta parte não está no tutorial acima
Para reconciliar isso, o
multiverse
repositório deve ser adicionado às fontes apt.Para fazer isso:
Ao qual anexei as seguintes linhas:
precise
neste caso refere-se à minha versão do Ubuntu " Precise Pangolin ".Então agora, salve essas alterações e volte ao terminal:
e de novo:
que irá (deve) agora funcionar.
Agora ative estes módulos Apache:
reinicie o apache
Etapa 3: configuração do Apache
Para fazer o Apache funcionar com PHP-FPM, precisamos da seguinte configuração:
Você pode colocá-lo na configuração global do Apache (para que seja ativado para todos os vhosts), por exemplo, em
/etc/apache2/conf.d/php5-fpm.conf
(este arquivo não existe, portanto, você deve criá-lo) ou pode ser colocado em cada host que deve usar o PHP-FPM.Eu escolho seguir a rota global, então:
cole no bloco de código acima e salve, saia. Este novo arquivo será carregado automaticamente pela configuração padrão do Apache, que carrega todos os arquivos no
/etc/apache2/conf.d/
diretórioreinicie o Apache:
Agora crie o seguinte arquivo PHP na raiz do documento
/var/www
:Adicionar:
saída segura.
Agora chamamos esse arquivo em um navegador (por exemplo
http://your-server-ip/info.php
)Em API do servidor, na parte superior, você deve ver
FPM/FastCGI
.Sucesso!
Para obter mais informações, como alterar o PHP-FPM para usar um soquete unix em vez da porta TCP padrão ou como configurá-lo para hosts virtuais individuais em vez de todos eles, consulte o tutorial de origem vinculado na parte superior.
fonte
Require all granted
coisa é necessária apenas desde o Apache 2.4. Se eu colocá-lo no arquivo de configuração do Apache 2.2, ele falhará.No Ubuntu 14.04, após executar as etapas da resposta aceita, edite o /etc/apache2/conf-available/php5-fpm.conf
Então execute
fonte
No caso de alguém estar fazendo isso no Ubuntu 16.04 e rebaixado do php 7 para o php 5.6 (Ondrej), você deve substituir algumas linhas (com base na resposta de JDawgg):
sudo apt-get install libapache2-mod-fastcgi php5-fpm para:
sudo a2dismod php5 mpm_prefork para:
sudo nano /etc/apache2/conf-available/php5-fpm.conf para:
O processo de instalação do php5.6-fpm já criou o arquivo, então não há necessidade de criar um. No entanto, eu removi todo o texto existente nesse arquivo, pois ele era destinado ao mod_php5.
Alterei o caminho de /var/run/php5-fpm.sock para /var/run/php/php5.6-fpm.sock, pois o arquivo estava localizado lá.
sudo a2enconf php5-fpm para:
serviço sudo apache2 restart && serviço sudo php5-fpm restart para:
Espero que isso ajude outros iniciantes como eu :)
fonte