DEV Community

Luis Justin
Luis Justin

Posted on • Originally published at luisjustin.com.br on

Como configurar seu NGINX e PHP7 para subir uma aplicacao feita em laravel

Prazer me chamo Luis Justin, esses dias me deparei com a necessidade de configurar o Nginx para rodar o laravel, então comecei arduamente a pesquisar na internet a melhor forma de fazer isso, então agora que sei como faz e já faço isso direto na empresa que eu trabalho resolvi passar esse conhecimento a frente.

Lembrando não sou nenhum expert no assunto, então pode ter algo que eu tenha esquecido de falar dai peço que me avisem se faltou algo que corrijo o tutorial.

Primeiramente temos que avaliar a questão de qual sistema operacional está utilizando, pois cada sistema operacional tem uma maneira de configura. Quando digo que tem uma maneira para cada não me refiro que o nginx muda seu funcionamento em cada SO, mas muda a organização das pastas.

Eu aqui irei utilizar Ubuntu 20.04, mas lembrando os mesmo passos podem ser reproduzidos em qualquer sistema operacional basta, analisar como é a organização de pasta do seu SO.

Lembrando que isso não se aplica somente para o Laravel essa configuração você pode usar para rodar qualquer sistema em PHP, mas nesse tutorial será focado para Laravel 8.0.

1. Instalando Nginx

No Ubuntu 20.04 instalar o nginx é uma tarefa relativamente simples usando o gerenciador de pacotes basta digitar o seguinte comando:

sudo apt install nginx
Enter fullscreen mode Exit fullscreen mode

Após ter concluído a instalação você precisa iniciar seu servidor nginx com o seguinte comando:

sudo systemctl start nginx
Enter fullscreen mode Exit fullscreen mode

2. Instalando PHP-FPM

Para instalar o PHP-FPM em sua ultima versão só é preciso digitar o seguinte comando:

sudo apt install php-fpm
Enter fullscreen mode Exit fullscreen mode

Após isso irá perceber que o php-fpm já está instalado e rodando.

3. Instalando Dependências que Laravel precisa para funcionar

Para instalar as dependencias necessárias basta você copiar e colar o seguinte comando no seu terminal:

sudo apt install php-mysql php-pdo php-mbstring php-xml php-bcmath php-zip
Enter fullscreen mode Exit fullscreen mode

4. Configurando o Nginx para receber o Laravel

Primeiramente você precisa abrir o arquivo de configuração do nginx o famoso arquivo chamado “default”

nano /etc/nginx/sites-available/default
Enter fullscreen mode Exit fullscreen mode

Irei ensinar 2 formas de criar essa configuração, porque duas formas ? Pelo fato que você pode utilizar ela tanto quando for para acessar por IP do servidor como quando você for configurar vários domínios com várias aplicações iguais ou distintas em laravel.Após isso você vai ver a seguinte tela:


Print do servidor de teste

agora iremos modifcar o script para ficar da seguinte forma:

server {
        listen 80;
        root /var/www/html/public;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name seusite.com.br; charset utf-8; location / {
                try_files $uri $uri/ /index.php?$query_string;
        } location = /favicon.ico { access_log off; log_not_found off; }
        location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        } location ~ /\.ht {
                deny all;
        } location ~ /\.(?!well-known).* {
                deny all;
        }
}
Enter fullscreen mode Exit fullscreen mode

Não esqueça de substituir em server_name pelo domínio que será usado para acessar ou você pode remover essa diretiva.

Após isso você só precisar pressionar “CTRL + S” para salvar e “CTRL + X” se ele pedir alguma confirmação na hora de fechar só clicar “Y”.

Após isso vamos digitar

sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
Enter fullscreen mode Exit fullscreen mode

Isso ira criar um link simbolico colocando o arquivo “default” também dentro da “sites-enabled” do nginx.

Agora vamos digitar

nginx -t
Enter fullscreen mode Exit fullscreen mode

Deve mostrar algo semelhante a isto:

Após isso vamos digitar

sudo systemctl reload nginx
Enter fullscreen mode Exit fullscreen mode

Para mandar o nginx recarregar os arquivos de configuração sem reiniciar.

5. Configure seu laravel

Agora você precisa configurar “.env” de seu laravel, isso é uma configuração individual de cada um então irei pular esse passo mas irei lembrar você que precisa que o URL da Aplicação no laravel só precisa ser seu dominio exemplo:

http://meusite.com.br

6. Tudo pronto vamos testar!

Agora para testar é simples você pode abrir em seu navegador o link do seu site e irá ver que o laravel está rodando perfeitamente.

O post Como configurar seu NGINX e PHP7 para subir uma aplicacao feita em laravel apareceu primeiro em Let's Code And Drink Coffe.

Top comments (0)