Como instalar o nginx, mysql & php (lemp) no Ubuntu 20.04

Como instalar o nginx, mysql & php (lemp) no Ubuntu 20.04

Uma combinação de Linux, Nginx, MySQL e PHP é conhecida como pilha Lemp é o ambiente de hospedagem popular para o aplicativo baseado em PHP. Aqui Linux é um sistema operacional, o nginx é o servidor web popular, o MySQL é o sistema de gerenciamento de banco de dados relacional usado para armazenar dados e o PHP é a linguagem de programação amplamente usada.

Este artigo ajudará você a instalar o nginx, MySQL 8.0 e Php 7.4 no sistema Ubuntu Linux. Vamos começar com a instalação do lemp empilhe sua máquina Ubuntu.

Pré -requisitos

Antes de iniciar a instalação do LEMP no Ubuntu:

  • Um Ubuntu em corrida 20.04 Sistema
  • Faça login como Sudo Provieded. Para criar, siga o tutorial de configuração do servidor inicial.
  • Um nome de domínio/subdomínio apontado para o seu servidor

Instalando o Nginx Web Server

Em seguida, você precisa instalar o NGINX Web Server em seu sistema. Os pacotes Nginx estão disponíveis nos repositórios APT padrão.

Execute os seguintes comandos para instalá -lo:

sudo apt update sudo apt install nginx 

Instalando o PHP com PHP-FPM

Php 7.4 pacotes estão disponíveis nos repositórios padrão no Ubuntu 20.04 LTS. Use o seguinte comando para atualizar o cache apt e instalar o PHP no seu sistema.

sudo apt update sudo apt install -y php7.4 Php7.4-fpm 

Instale também módulos PHP adicionais necessários para o seu aplicativo.

sudo apt install php7.4-CURL PHP7.4-GD PHP7.4-JSON PHP7.4-MBSTRING PHP7.4-xml 

Você instalou o php 7.4 com pacote Php FPM em seu sistema. Vamos verificar o status do serviço PHP FPM, executando o comando abaixo:

SUDO SYSTEMCTL STATUS PHP7.4-fpm ● Php7.4-fpm.Serviço - o Php 7.4 Gerenciador de processos fastcgi carregado: carregado (/lib/systemd/system/php7.4-fpm.serviço; habilitado; Preset do fornecedor: habilitado) ativo: ativo (em execução) desde a terça 2020-06-16 05:15:57 UTC; 34 anos atrás Docs: Man: Php-FPM7.4 (8) Processo: 882716 ExecStartPost =/usr/lib/php/php-fpm-socket-helper install/run/php/php-fpm.Meia/etc/php/7.4/fpm/piscina.d/www.conf 74> PID principal: 882699 (Php-FPM7.4) Status: "Processos ativos: 0, ocioso: 2, solicitações: 0, lento: 0, tráfego: 0Req/s" Tarefas: 3 (limite: 2283) Memória: 10.3M CGROUP: /Sistema.fatia/php7.4-fpm.Serviço ├─882699 PHP-FPM: Processo mestre (/etc/php/7.4/FPM/PHP-FPM.conf) ├─882714 php-fpm: pool www └─882715 php-fpm: piscina www 16 de junho 05:15:57 Tecadmin Systemd [1]: iniciando o php 7.4 Gerente de processo fastcgi… 16 de junho 05:15:57 Tecadmin Systemd [1]: iniciou o Php 7.4 gerente de processo fastcgi. 

Instalando MySQL

O Ubuntu padrão 20.04 Repositórios Apt contém o MySQL Server 8.0. Por fim, instale os pacotes MySQL-Server para o banco de dados MySQL. Além disso, instale o pacote PHP-MYSQL para usar o suporte MySQL usando PHP. Use o seguinte comando para instalá -lo.

sudo apt install mysql-server php7.4-MYSQL 

O instalador solicitará a senha raiz, essa senha funcionará para o seu usuário do MySQL Root. Depois de instalar o MySQL, execute o seguinte comando para configurações iniciais do servidor MySQL. Você verá que o script solicitará mais configurações do que versões anteriores do MySQL, como Política de Validação de Senha, etc.

sudo mysql_secure_installation 
Protegendo a implantação do MySQL Server. Conectando -se ao MySQL usando uma senha em branco. Validar o componente de senha pode ser usado para testar senhas e melhorar a segurança. Ele verifica a força da senha e permite que os usuários defina apenas aquelas senhas que são seguras o suficiente. Você gostaria de configurar o componente de senha validar?  Pressione Y | y para sim, qualquer outra chave para não: y Existem três níveis de política de validação de senha: baixo comprimento> = 8 comprimento médio> = 8, numérico, caso misto e caracteres especiais Comprimento forte> = 8, numérico, Caso misto, caracteres especiais e arquivo de dicionário, digite 0 = baixo, 1 = médio e 2 = forte: 2 Defina a senha para root aqui. Nova senha: reentrar nova senha: Força estimada da senha: 100 Deseja continuar com a senha fornecida?(Pressione Y | y para sim, qualquer outra chave para não): y Por padrão, uma instalação do MySQL tem um usuário anônimo, permitindo que qualquer pessoa faça login no MySQL sem ter que ter uma conta de usuário criada para eles. Isso se destina apenas a testar e tornar a instalação um pouco mais suave. Você deve removê -los antes de se mudar para um ambiente de produção. Remova usuários anônimos? (Pressione Y | y para sim, qualquer outra chave para não): y Sucesso. Normalmente, a raiz só deve poder se conectar de 'localhost'. Isso garante que alguém não possa adivinhar a senha raiz da rede. Proibir o login de raiz remotamente? (Pressione Y | y para sim, qualquer outra chave para não): y Sucesso. Por padrão, o MySQL vem com um banco de dados chamado 'teste' que qualquer um pode acessar. Isso também se destina apenas a testes e deve ser removido antes de se mudar para um ambiente de produção. Remova o banco de dados de teste e o acesso a ele? (Pressione Y | y para sim, qualquer outra tecla para não): y - descartando banco de dados de teste… sucesso. - Removendo privilégios no banco de dados de teste ... sucesso. Recarregar as tabelas de privilégio garantirá que todas as alterações feitas até agora entrarão em vigor imediatamente. Recarregue as tabelas de privilégio agora? (Pressione Y | y para sim, qualquer outra chave para não): y Sucesso. Tudo feito! 

Configure nginx com php-fpm

Vamos criar um host virtual nginx para executar com FPM/fastcgi. Para este tutorial, usamos o VirtualHost padrão. Editar o arquivo de configuração do host virtualhost no editor de texto. Você pode criar um novo VirtualHost conforme seus requisitos, por isso, certifique -se de ativar qualquer novo VirtualHost.

sudo vim/etc/nginx/sites que estão disponíveis/exemplo.com 

Use a configuração básica do host virtual nginx básico com configurações de php fpm. Atualize a configuração como seguinte.

servidor ouça 80; root/var/www/html; ÍNDICE ÍNDICE.ÍNDICE PHP.Índice HTML.htm; Exemplo server_name.com; localização / Try_files $ uri $ uri / = 404; localização ~ \.php $ inclua trechos/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.meia;
123456789101112131415servidor ouça 80; root/var/www/html; ÍNDICE ÍNDICE.ÍNDICE PHP.Índice HTML.htm; Exemplo server_name.com; localização / Try_files $ uri $ uri / = 404; localização ~ \.php $ inclua trechos/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.meia;

Salve suas alterações no arquivo de configuração e crie um link para o diretório habilitado para o site.

sudo ln -s/etc/nginx/sites que estão disponíveis/exemplo.com/etc/nginx/sites-habilitado/exemplo.com 

Em seguida, reinicie o serviço Nginx para recarregar as mudanças.

sudo systemctl reiniciar nginx 

Etapa 5 - Gerenciar serviços

Fizemos com a instalação da pilha de lâmpadas no Ubuntu 20.04 Sistema LTS. Os comandos abaixo ajudarão você a iniciar/parar ou reiniciar os serviços NGINX e MySQL em execução com Systemd.

Para reiniciar os serviços nginx e mysql, digite:

sudo systemctl reiniciar nginx sudo systemctl reiniciar mysql 

Para iniciar os serviços nginx e mysql, digite:

sudo systemctl iniciar nginx sudo systemctl start mysql 

Para interromper os serviços nginx e mysql, digite:

sudo systemctl pare nginx sudo systemctl stop mysql 

Etapa 6 - Ajuste as regras do firewall

Você pode fornecer diretamente um nome de serviço como "http" ou "https" para permitir. O Firewalld usa /etc /Services File para determinar a porta correspondente do serviço.

sudo firewall-cmd --permanent --add-service = http sudo firewall-cmd --permanent --add-service = https  SUDO Firewall-CMD--Reload 

Etapa 7 - Verifique a configuração

Depois de concluir toda a configuração. Vamos criar um informações.php Site do arquivo Raiz do documento com o seguinte conteúdo.

sudo echo "">/var/www/html/info.php 

Agora acesse este arquivo no navegador da web. Você verá a tela como abaixo com todos os detalhes do PHP no servidor.

Parabéns! Você configurou com sucesso o servidor Lemp no seu Ubuntu 20.04 Sistema LTS.