Como instalar o nginx, mariadb, php (pilha Lemp) no Ubuntu 18.04 Bionic Beaver Linux

Como instalar o nginx, mariadb, php (pilha Lemp) no Ubuntu 18.04 Bionic Beaver Linux

Objetivo

Instale o Nginx Web Server (LEMP) no Ubuntu 18.04. Em particular, este guia de instalação do servidor da web do Linux mostra como instalar o nginx, como instalar o mariadb e como instalar o php.

Distribuições

Ubuntu 18.04 Bionic Beaver

Requisitos

Uma instalação funcional do Ubuntu 18.04 com privilégios de raiz

Dificuldade

MÉDIO

Convenções

  • # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando
  • $ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular

Introdução

Se você deseja executar sites baseados em PHP no Linux, o Apache não é sua única opção. Nginx é um servidor da web mais rápido e mais leve que é bastante fácil de configurar e correr em execução. Além disso, é excelente em lidar com outras tarefas, como balanceamento de carga, otimização do servidor e atuação como um proxy reverso. Na verdade, o nginx é uma escolha de melhor escolha entre as startups para hospedar seus aplicativos da web.

Configurando o nginx para hospedar PHP no Ubuntu 18.04 é muito simples e você só precisa de alguns pacotes instalados para começar.

Instalação

Antes de poder fazer qualquer coisa, você deve instalar tudo o que precisa primeiro. Existem apenas alguns pacotes que você precisa. Além disso, Ubuntu 18.04 possui versões bastante atuais de tudo o que está certo em seus repositórios padrão, para que você não precise se preocupar em rastrear repositórios externos.

$ sudo apt install mariadb-server nginx php-fpm php-mysql

Durante a instalação, você será solicitado a configurar uma conta de administrador para o mariadb/mysql. Escolha uma senha segura e memorável.

Você deve demorar um minuto para começar e ativar o php-fpm agora também.

Nota: Atualize os comandos abaixo com a versão PHP instalada! Para verificar sua versão php executar PHP -Versão comando.
$ sudo systemctl start php7.1-fpm $ sudo systemctl Habilitar php7.1-fpm


Configure seu banco de dados

Agora, você pode fazer login no seu banco de dados recém -criado.

$ mysql -u root -p

Digite a senha que você configurou durante a instalação.

Você será jogado no console MySQL. Você pode fazer tudo o que precisa de lá. Antes de qualquer coisa, faça seu banco de dados real.

MySQL> Criar banco de dados 'bionic_lemp';

Em seguida, use regularmente para executar o banco de dados.

mysql> criar usuário 'site_admin'@'localhost' identificado por 'your_password';

Por fim, conceda ao seu novo usuário os privilégios para realmente usar o banco de dados.

mysql> conceda tudo em bionic_lemp.* Para 'site_admin'@'localhost';

Quando terminar, lave os privilégios e saia do console.

mysql> privilégios de descarga; mysql> saída;

Configure nginx

Todas as configurações do Nginx estão localizadas em /etc/nginx. Eles são divididos para simplificar o processo de configuração. Os dois com os quais você precisa se preocupar são os principais nginx.conf arquivo e o site específico que você criará para o seu site. Aquele, você colocará no Sites disponíveis diretório.

Crie um novo arquivo para o seu site em /etc/nginx/sites disponíveis. O caminho completo deve ser algo como /etc/nginx/sites-ABILIÁRIO/SEU SITE.

Comece o arquivo criando um servidor bloquear. Nginx usa servidor blocos para designar uma nova instância de aplicativo da web para ouvir.

servidor  

As primeiras coisas que você deve colocar em seu servidor Bloco é o ouvir linhas. Eles dizem ao nginx em que porta ouvir.

Ouça 80 Padrão; Ouça [::]: 80 Padrão;

Estes cobrirão as conexões IPv4 e IPv6. Remova o padrão especifica que este é o servidor padrão. Você só pode ter um Padrão, portanto, selecione o certo, se você estiver hospedando vários sites.

Em seguida, diga ao nginx qual nome de domínio para se associar ao site. Se você está apenas fazendo isso localmente, use LocalHost. Caso contrário, use seu nome de domínio.

Server_name Your-site.com;

Se você deseja o Nginx para redirecionar automaticamente solicitações com o www para o mesmo bloco de servidor. Adicione o bloco a seguir antes do início do seu bloco de servidor atual.

servidor ouça 80; Server_name www.seu site.com; Retornar 301 http: // seu site.com $ request_uri; 


Em seguida, especifique o diretório raiz do seu site e qual o arquivo de índice do site será nomeado. Essas linhas dizem ao Nginx para procurar o site em /var/www/your-site e comece com qualquer arquivo chamado índice.php ou índice.html.

root/var/www/your-site/; ÍNDICE ÍNDICE.ÍNDICE PHP.html;

Também é uma boa ideia configurar logs de erros individuais para cada um de seus sites. Especifique -os aqui também.

access_log/var/log/nginx/seu site.access_log; error_log/var/log/nginx/seu site.error_log;

Criar uma localização Block para dizer ao Nginx para levantar um erro 404 sempre que os arquivos não são encontrados. localização Os blocos entram em blocos de servidores e dizem ao nginx como lidar com tipos de arquivos específicos em determinados locais.

localização / Try_files $ uri $ uri / = 404; 

A última coisa que você precisa fazer é dizer ao nginx como lidar com seus arquivos PHP. Criar outro localização Bloco para isso.

Nota: Atualize a configuração abaixo com a versão PHP instalada! Para verificar sua versão php executar PHP -Versão comando.
Localização ~ \.php $ inclua trechos/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.1-fpm.meia; 

Isso é tudo o que você precisa. Salvar e sair do arquivo. Também é provavelmente uma boa ideia criar esse diretório de site agora.

$ sudo/var/www/seu site

Dê a propriedade nginx também.

$ sudo chown -r www-data: www-data/var/www/your-site

Agora, remova o link simulado para a configuração padrão em /etc/nginx/sites habilitados.

$ sudo rm/etc/nginx/sites-habilitados/inadimplacente

Em seguida, crie um novo symblink para a configuração do seu site.

$ sudo ln -s/etc/nginx/sites-disponível/seu site/etc/nginx/sites-habilitados/

Reinicie o nginx para que as mudanças entrem em vigor.

$ sudo systemctl reinicie nginx


Teste

A melhor maneira de testar que tudo está funcionando é colocando um script PHP simples no diretório do seu site e conectando -o ao seu banco de dados. Crie o seguinte arquivo em /var/www/your-site/índice.php.

Página carregada com php!'; $ conn = mysqli_connect ('localhost', 'site_admin', 'your_password'); se(!$ conn) die ('

Erro:

' . mysqli_connect_error ()); else eco '

Conectado com sucesso ao banco de dados MySQL!

'; ?>

Navegue até o seu site usando seu navegador da web. Se você vir a mensagem de sucesso dizendo que você se conectou com sucesso ao MySQL, seu servidor está configurado corretamente.

Pensamentos finais

Configurar o Nginx leva algum tempo, mas vale a pena. Não é apenas mais rápido que outros servidores da Web, mas oferece muitas opções e controle de granulação fina. Também é fácil configurar o nginx para hospedar aplicativos da web escritos em outros idiomas como Python e Ruby bem ao lado dos seus PHP. Nginx é facilmente uma das melhores opções para aplicativos da web modernos.

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Coisas para instalar no Ubuntu 22.04
  • Como instalar pilha Lemp no Almalinux
  • Coisas para fazer depois de instalar o Ubuntu 22.04 Jellyfish…
  • Ubuntu 20.04 Guia
  • Ubuntu 20.04 WordPress com instalação do Apache
  • Ubuntu 20.04: WordPress com instalação nginx
  • Instale Arch Linux na estação de trabalho VMware
  • Como criar uma pilha de lâmpadas à base de docker usando o docker em…