Posted on: September 05, 2020 12:03 AM
Posted by: Renato
Views: 3299
Como instalar várias versões do PHP com Nginx no Ubuntu 18.04 e 16.04
Geralmente, o gerenciador de hospedagem na web usa um servidor separado para cada implementação de aplicativo da versão PHP. O que aumenta o custo de hospedagem. Como alternativa, você pode executar vários contêineres Docker para várias versões de PHP.
Este tutorial ajuda você com a instalação e configuração de dois VirtualHost no servidor da web Nginx com diferentes versões de PHP. O primeiro VirtualHost funcionará com PHP 5.6 e outro VirtualHost será executado com PHP 7.2. Então, basta seguir este tutorial. Você também pode usar mais de duas versões de PHP com Nginx conforme necessário, mas este tutorial cobre apenas duas.
Instalação PHP
Para a instalação das versões do PHP, usamos o PPA mantido aqui. Use os dois comandos abaixo para adicionar o PPA ao seu sistema.
sudo apt install python-software-properties sudo add-apt-repository ppa:ondrej/php
Para este tutorial, usei PHP 5.6 e PHP 7.2 para configurá-lo com o servidor web Nginx. Para usar as várias versões do PHP, usaremos PHP FPM e FastCGI. Vamos instalar os seguintes pacotes em seu sistema.
apt update sudo apt install php5.6 php5.6-fpm sudo apt install php7.2 php7.2-fpm
Você também pode precisar instalar módulos PHP adicionais. Para o tutorial, apenas os pacotes acima são necessários.
Após a instalação, os serviços php-fpm serão iniciados automaticamente. Use os comandos a seguir para garantir que ambos os serviços estejam em execução.
sudo systemctl status php5.6-fpm sudo systemctl status php7.2-fpm
- Recommended: How to Enable/Disable PHP Modules on Ubuntu
- https://tecadmin.net/enable-disable-php-modules-ubuntu/
Nginx Installation
Instalação Nginx
Os pacotes do servidor web Nginx estão disponíveis no repositório oficial do Ubuntu. Inicie o terminal em seu sistema ou faça login com ssh para sistemas remotos. Execute os comandos a seguir para instalar a versão mais recente disponível do servidor da web Nginx.
sudo apt update sudo apt install nginx
Configuração Nginx
Prepare-se para a configuração de sites no servidor Nginx. Para fins de teste, estou configurando dois sites para trabalhar com duas versões diferentes de PHP. Primeiro, crie dois diretórios em seu servidor.
sudo mkdir /var/www/php56 sudo mkdir /var/www/php72
Agora, crie e index.php contendo a função phpinfo () .
echo "" > /var/www/php56/index.php echo "" > /var/www/php72/index.php
Depois disso, crie blocos de servidor para ambos os sites no Nginx. A versão mais recente do Nginx mantém os arquivos de configuração do bloco do servidor no diretório / etc / nginx / sites-available. Crie um arquivo para o primeiro host virtual e edite em seu editor de texto favorito.
sudo vim /etc/nginx/sites-available/php56.example.com
Adicione o seguinte conteúdo. Certifique-se de usar o nome do servidor e o caminho do diretório corretos de acordo com sua configuração. Este site está configurado para funcionar com PHP 5.6.
# Application with PHP 5.6 # server { listen 80; root /var/www/php56; index index.php; server_name php56.example.com; location ~* \.php$ { # With php-fpm unix sockets fastcgi_pass unix:/var/run/php/php5.6-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } }
Da mesma forma, crie um segundo arquivo de configuração VirtualHost para trabalhar com PHP 7.2. Edite o arquivo de configuração no editor de texto:
Adicione o seguinte conteúdo ao arquivo com ServerName e DocumentRoot adequados.
# Application with PHP 7.2 # server { listen 80; root /var/www/php72; index index.php; server_name php72.example.com; location ~* \.php$ { # With php-fpm unix sockets fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } }
Tudo bem, você criou os dois sites em seu Nginx. Mas eles ainda não estão ativos. O Nginx mantém os sites ativos no diretório / etc / nignx / sites-enabled. Você pode simplesmente criar um link simbólico para ambos os arquivos de configuração neste diretório ou usar o comando abaixo para fazer o mesmo.
sudo ln -s /etc/nginx/sites-available/php56.example.com /etc/nginx/sites-enabled/ sudo ln -s /etc/nginx/sites-available/php72.example.com /etc/nginx/sites-enabled/
Depois de fazer todas as alterações, reinicie o Nginx para recarregar as novas alterações nas configurações.
sudo systemctl restart nginx.service
Sua configuração foi concluída agora. Vá para a próxima etapa para testar sua configuração.
1) vim /etc/hosts
2) add below 2 lines , save and exit.
127.0.0.1 php56.example.com
127.0.0.1 php72.example.com
Configuração de teste
Tudo feito. Você pode acessar os dois sites em seu navegador da web favirote. Você verá que php56.example.com mostra a versão PHP 5.6 e php72.example.com mostra o PHP 7.2 como configuração.
Parabéns, Seu sistema está pronto para hospedar sites com diferentes versões de PHP. Feliz hospedagem.
- https://tecadmin.net/install-multiple-php-version-nginx-ubuntu/
Donate to Site
Renato
Developer
-
Parbriz Ford Fiesta 2004 - há 3 anos
My brother recommended I may like this website. He was totally right. This post truly made my day. You can not consider just how much time I had spent for this information! Thanks!