Configurando o Nginx para Laravel no Ubuntu e Debian

Configurando o Nginx para Laravel no Ubuntu e Debian

O Laravel é uma estrutura popular de aplicativos da Web PHP usada para desenvolver aplicativos da Web robustos e dinâmicos. Quando se trata de implantar um aplicativo Laravel, o nginx é uma escolha popular do servidor da web devido à sua velocidade, estabilidade e escalabilidade. Configurar o nginx para o Laravel é importante para implantações de produção.

Neste tutorial, forneceremos um guia abrangente sobre como configurar o nginx para um aplicativo Laravel.

Etapa 1: Instale o nginx

Antes de configurar o NGINX para o seu aplicativo Laravel, você deve primeiro instalar o Nginx no seu servidor. Você pode instalar o nginx no seu servidor usando o seguinte comando:

Atualização de sudo apt-get  sudo apt-get install nginx  

Etapa 2: Instale o PHP

Para executar um aplicativo Laravel no Nginx, você também precisa instalar o PHP, que é a linguagem de script com a qual o Laravel é construído. Você pode instalar o PHP e suas dependências executando o seguinte comando:

Instalação sudo apt-get php php-fpm php-mysql 

Este comando instala PHP, o PHP FastCGI Process Manager e a extensão MySQL para PHP.

Depois que a instalação estiver concluída, você precisa configurar o PHP para trabalhar com o nginx. Você pode fazer isso editando o arquivo de configuração PHP-FPM:

sudo nano/etc/php/8.1/fpm/piscina.d/www.conf 

Neste arquivo, você precisa atualizar as seguintes configurações:

Usuário = grupo www-data = www-data escuta =/run/php/php8.1-fpm.meia
123usuário = www-dataGroup = www-datalisten =/run/php/php8.1-fpm.meia

Essas configurações garantem que o PHP funcione como o mesmo usuário e grupo que Nginx e ouve no soquete correto.

Salve e feche o arquivo quando terminar e reinicie o PHP-FPM para aplicar as alterações:

sudo systemctl reiniciar php8.1-fpm 

Com o PHP instalado e configurado, seu servidor nginx agora está pronto para servir aplicativos de Laravel.

Etapa 3: Crie um bloco de servidor nginx

A próxima etapa é criar um bloco de servidor nginx, usado para definir as definições de configuração para um site ou aplicativo específico. Para criar um bloco de servidor para o seu aplicativo Laravel, crie um novo arquivo no diretório/etc/nginx/sites e disponíveis, como segue:

sudo nano/etc/nginx/sites que estão disponíveis/laravel 

Neste arquivo, adicione as seguintes definições de configuração:

servidor ouça 80; Exemplo server_name.com; root/var/www/laravel/público; ÍNDICE ÍNDICE.php; Localização / Try_files $ URI $ URI / / ÍNDICE.php?$ query_string; localização ~ \.php $ try_files $ uri = 404; fastcgi_pass unix:/run/php/php8.1-fpm.meia; Índice FastCGI_Index.php; fastcgi_param script_filename $ document_root $ fastcgi_script_name; incluir fastcgi_params;
12345678910111213141516171819servidor ouça 80; Exemplo server_name.com; root/var/www/laravel/público; ÍNDICE ÍNDICE.php; Localização / Try_files $ URI $ URI / / ÍNDICE.php?$ query_string; localização ~ \.php $ try_files $ uri = 404; fastcgi_pass unix:/run/php/php8.1-fpm.meia; Índice FastCGI_Index.php; fastcgi_param script_filename $ document_root $ fastcgi_script_name; incluir fastcgi_params;

Nesta configuração, estamos ouvindo na porta 80, definindo o nome do servidor como exemplo.com, e definir o diretório raiz para o aplicativo Laravel. Também estamos especificando o arquivo de índice e definindo o bloco de localização para o aplicativo Laravel. Além disso, estamos definindo o bloco de localização para arquivos PHP e especificando os parâmetros fastcgi.

Etapa 4: Ative o bloco do servidor nginx

Depois de criar o bloco do servidor, você deve habilitá -lo. Para fazer isso, crie um link simbólico do arquivo/etc/nginx/sites que disponível para o diretório habilitado para o/etc/nginx/sites, como segue:

sudo ln -s/etc/nginx/sites-disponível/laravel/etc/nginx/sites-habilitados/ 

Antes de reiniciar o NGINX, você deve testar a configuração para garantir que não haja erros de sintaxe. Você pode testar a configuração usando o seguinte comando:

sudo nginx -t 

Se não houver erros de sintaxe, você poderá reiniciar o nginx usando o seguinte comando:

sudo systemctl reiniciar nginx 

Etapa 5: Configurar SSL/TLS

Para proteger seu aplicativo Laravel, você deve configurar SSL/TLS. Para fazer isso, você precisará obter um certificado SSL/TLS de uma Autoridade de Certificação Confiável (CA) e instalá -lo no seu servidor. Depois de obter um certificado, você pode configurar o SSL/TLS adicionando as seguintes definições de configuração ao bloco do servidor:

Ouça 443 SSL; SSL_CERTificate/Path/para/seu/certificado.PEM; ssl_certificate_key/path/to/your/privado.chave;
1234Ouça 443 SSL; SSL_CERTificate/Path/para/seu/certificado.PEM; ssl_certificate_key/path/to/your/privado.chave;

Você deve substituir o/caminho/para/seu/certificado.PEM e/PATH/para/seu/privado.Chave com os caminhos para o seu certificado SSL/TLS e chave privada, respectivamente.

Etapa 6: otimizar o desempenho

Para otimizar o desempenho do seu aplicativo Laravel, você pode configurar o Nginx Caching. O cache pode ajudar a reduzir a carga do servidor e melhorar os tempos de carregamento da página. Para ativar o cache, você pode adicionar as seguintes configurações ao bloco do servidor:

Permitindo o cache

O cache pode ajudar a melhorar o desempenho do seu aplicativo Laravel, reduzindo a carga do servidor e melhorando os tempos de carregamento da página. Para ativar o cache no Nginx, você pode adicionar a seguinte configuração ao bloco do servidor:

Localização ~* \.(jpg | jpeg | png | gif | ico | css | js) $ expira 1y; add_header cache-control "público, sem transformação";
1234Localização ~* \.(jpg | jpeg | png | gif | ico | css | js) $ expira 1y; Add_Header Cache-Control "Public, No Transform";

Esta configuração informa ao nginx para cache imagem, css e arquivos javascript por um ano e enviar um cabeçalho de controle de cache "público".

Permitindo a compressão GZIP

A ativação da compactação GZIP também pode ajudar a melhorar o desempenho do seu aplicativo Laravel, reduzindo o tamanho dos arquivos que são transferidos entre o servidor e o cliente. Para ativar a compactação GZIP no NGINX, você pode adicionar a seguinte configuração ao bloco do servidor:

gzip on; GZIP_TYPES TEXT/TEXTO DE PLAY/CSS APLICATIVO/JSON APLICATIVO/JAVASCRIPT TEXT/XML APLICATION/XML APLICATION/XML+RSS Texto/JavaScript;
12gzip on; gzip_types text/texto simples/aplicativo css/json/javascript text/xml application/xml application/xml+rss text/javascript;

Esta configuração informa ao Nginx para ativar a compactação GZIP para tipos de arquivos baseados em texto.

Ajustando os processos e conexões dos trabalhadores

Por fim, você pode ajustar os processos e conexões do trabalhador para otimizar o desempenho do seu aplicativo Laravel no Nginx. Isso pode ajudar a garantir que seu servidor possa lidar com um grande número de solicitações sem ficar sobrecarregado. Para ajustar os processos e conexões do trabalhador, você pode adicionar a seguinte configuração ao bloco HTTP no nginx.arquivo conf

trabalhador_processos automaticamente; trabalhador_connections 1024;
12trabalhador_processos auto; trabalhador_connections 1024;

Esta configuração informa ao Nginx para detectar automaticamente o número de núcleos da CPU no servidor e usar esse número para os processos do trabalhador. Ele também especifica um máximo de 1024 conexões por processo de trabalhador.

Conclusão

Neste tutorial, fornecemos um guia abrangente sobre como configurar o nginx para um aplicativo Laravel. Cobrimos as etapas para instalar e configurar o nginx, criar um bloco de servidor nginx para Laravel, ativar SSL/TLS e otimizar o desempenho. Seguindo estas etapas, você pode garantir que seu aplicativo Laravel funcione de maneira suave e eficiente no Nginx.