Notícias
Novos modelos de linguagem da API Serverspace GPT
BM
fevereiro 6, 2023
Atualizado janeiro 31, 2025

Como implantar o aplicativo Laravel NGINX no servidor Ubuntu 20.04

Linux Ubuntu

Introdução

Nesta publicação, descreverei como implantar um aplicativo Laravel em um servidor no Ubuntu Linux 20.04.

Laravel - é uma estrutura PHP disponível publicamente e foi desenvolvida em 2011. Ele é usado para criar recursos e aplicativos da Web em várias camadas.

Ele suporta prontamente o teste funcional ao criar software, e você pode evitar o uso de outras ferramentas de teste de software. Fácil escalabilidade de projetos na estrutura Laravel.

A estrutura fornece um sistema de autorização simples, mas rápido e acessível, e dá a você direitos de acesso imediato aos seus arquivos. Isso nos permite restringir o acesso a usuários não autorizados. Fornecendo segurança ao aplicativo, o código da estrutura é protegido contra ameaças como injeção de SQL ou falsificação de consulta entre sites.

O Laravel oferece uma abordagem simples e flexível para o desenvolvimento de aplicativos da Web. Ele vem com recursos e ferramentas poderosos que permitem aos desenvolvedores criar e manter aplicativos da Web de forma rápida e fácil. Há também uma opção para que os desenvolvedores avançados usem modelos e módulos para projetar e desenvolver aplicativos com mais eficiência. Além disso, o Laravel suporta muitos bancos de dados populares, como MySQL, Postgres, SQLite e MS SQL, o que o torna mais adequado para o desenvolvimento de aplicativos com diferentes bancos de dados. Ele tem mecanismos integrados para segurança e autenticação e, além disso, tem ferramentas poderosas para monitorar aplicativos. Tudo isso torna o Laravel muito atraente para o desenvolvimento de aplicativos da Web.

O Nginx oferece suporte aos seguintes recursos exclusivos:

  • Gerenciamento de desempenho: O Nginx fornece muitas ferramentas para ajustar o desempenho do servidor, incluindo a capacidade de dimensionamento e controle de carga.
  • Suporte a um grande número de protocolos: O Nginx oferece suporte a uma ampla variedade de protocolos, incluindo HTTP, HTTPS, FTP, SMTP e muitos outros.
  • Gerenciamento de cache: O Nginx permite o ajuste do cache para melhorar o desempenho e o tempo de resposta.
  • Suporte para aplicativos distribuídos: O Nginx oferece suporte a aplicativos distribuídos, permitindo distribuir a carga entre vários servidores.
  • Suporte para hospedagem compartilhada: O Nginx permite que você faça hospedagem compartilhada, permitindo que vários sites da Web sejam executados em um único servidor.

Requisitos do sistema

  • Servidor em um sistema operacional Linux Ubuntu;
  • Pacotes atualizados de sistema e aplicativos;
  • Software pré-instalado de: banco de dados; servidor da Web.

Alterações no sistema

Atualização de pacotes.

sudo apt update

Instalar os pacotes necessários dos módulos PHP.

sudo apt install php-mbstring php-xml php-bcmath

1lu

Criação de banco de dados

Antes de mais nada, vamos pesquisar algumas opções exclusivas no banco de dados mysql.

  • Estratégias de otimização: uso de índices, otimização de consultas e definições de configuração.
  • Replicação mestre-escravo, que permite a duplicação assíncrona de dados entre vários servidores.
  • Logs binários para registrar alterações nas tabelas do banco de dados.
  • Consultas SQL procedimentais (PL/SQL) para executar tarefas complexas.
  • Uso de gatilhos para execução automática de ações após a execução da consulta.
  • Suporte para visualizações que fornecem outro mecanismo para armazenar e manipular dados.
  • Suporte para procedimentos armazenados para tarefas complexas.
  • Suporte para tarefas diferidas para realizar consultas e ações em um momento específico.
  • Uso de clustering para distribuir dados e consultas entre os nós.
  • Suporte para trabalhar com geodados que permite usar dados em mapas.
sudo mysql

2lu

Criei um novo "banco de dados".

3lu

Criou um usuário e me deu todos os direitos para o "DB" criado.

4lu

Concedeu todo o acesso ao "DB" para o usuário e, em seguida, deixou o "DB".

5lu

Isso concede ao usuário todos os direitos de acesso ao "banco de dados" para administração.

Verifique se podemos entrar no MySQL usando as credenciais do nosso usuário.

7lu

Verifique o mesmo acesso ao "DB" criado e, em seguida, saia do "DB".

8lu

Criando um novo aplicativo

Eu crio uma tabela no banco de dados.

10lu

Inserção de dados na tabela. No meu caso, insiro dados sobre cidades populares.

11lu

Verifique se os registros foram adicionados à tabela. Você verá uma janela como esta.

12lu

Desenvolvimento de um aplicativo para a estrutura

Depois de criar um aplicativo de lista de cidades. Ele é usado para mostrar as principais configurações da estrutura e o acesso ao "banco de dados".

Criei um novo diretório chamado "citylist", no qual a própria estrutura estará contida.

composer create-project --prefer-dist laravel/laravel "name_of_your_project"

Após a instalação, as seguintes informações serão exibidas na linha de comando.

13lu

Agora, abra o diretório do nosso aplicativo e execute o comando artisan para verificar se os componentes estão instalados corretamente.

cd "name_of_your_project"
php artisan

Artisan é a CLI incluída na estrutura. Ele fornece vários comandos que são úteis para o desenvolvimento do aplicativo.

Se tudo for feito conforme as instruções, será mostrado o seguinte.

14lu

Configurando a estrutura

A configuração da estrutura está localizada no diretório "config" de seu diretório principal. Quando instalamos a estrutura usando o utilitário "Composer", criamos um arquivo de ambiente.

O arquivo de ambiente registra as configurações do seu ambiente, onde o aplicativo reside, e coloca seu arquivo acima dos outros arquivos de configuração, que estão localizados no diretório "config".

Abra o arquivo ".env".

Nano .env

Embora o arquivo pareça ter muitas configurações, configurarei apenas as que precisamos. Abaixo, escreverei e descreverei quais parâmetros alterarei.

  • NAME é o nome do aplicativo.
  • ENV é uma variável de ambiente que define o ambiente atual do aplicativo.
  • KEY é a chave do aplicativo usada para criptografar dados.
  • URL é o URL do aplicativo.
  • DATABASE é o nome do banco de dados.
  • USERNAME é o nome de usuário do banco de dados.
  • PASSWORD é a senha do usuário do banco de dados.

Altere as seguintes chaves no arquivo do aplicativo.

15lu

Configuração de um servidor da Web

Mova nossa pasta de aplicativos para o diretório "/var/www", que geralmente é onde todos os aplicativos executados em um servidor da Web são armazenados.

mv ~/name_of_your_project /var/www/name_of_your_project

16lu

Deu acesso às pastas em que a estrutura salva os arquivos criados pelo aplicativo.

17lu

Vamos prosseguir com a configuração do servidor da Web. Crie um arquivo de configuração de host virtual.

nano /etc/nginx/sites-available/name_of_your_project

Insira as seguintes configurações para o servidor da Web.

server {
listen 80;
server_name IP ADDRESS/DOMAIN_NAME;
root /var/www/YOURPROJECT/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.html index.htm index.php;
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$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /.(?!well-known).* {
deny all;}}

 

18lu

Agora, execute um novo arquivo com configurações de host virtual e crie um link para seu projeto em "sites-enabled".

sudo ln -s /etc/nginx/sites-available/name_of_your_project /etc/nginx/sites-enabled/

Verifique se há erros de sintaxe nas configurações.

sudo nginx -t

Reiniciar o servidor da Web

systemctl reload nginx

Configuração da página principal da estrutura

Abra o arquivo de rota principal.

nano routes/web.php

Insira os seguintes parâmetros em nosso arquivo.

 

20lu

Crie um novo arquivo - uma tela que renderizará a saída do "DB" para o usuário.

nano resources/views/travellist.blade.php

21lu

Esse código foi projetado para gerar as informações. Nós as escrevemos no arquivo de configuração.

<?php
use IlluminateSupportFacadesDB;
Route::get('/', function () {
$visited = DB::select('select * from places where visited = ?', [1]);
$togo = DB::select('select * from places where visited = ?', [0]);
return view('yourproject', ['visited' => $visited, 'togo' => $togo ] );});

Salve o arquivo. Abra o navegador e recarregue o aplicativo. A página em si terá o seguinte formato.

22lu

Resultados

Nesta publicação, analisamos as seguintes ações:

  1. Criado e pintado o "DB" para o aplicativo.
  2. Configurou o novo aplicativo de estrutura.
  3. Configurou a estrutura e o servidor da Web
  4. Configurou a página principal da estrutura.

 

Avaliação:
5 fora de 5
Аverage rating : 5
Avaliado por: 1
CEP 01311-930 São Paulo Avenida Paulista, nº 1765, 7º andar, Cj. 72, CV 10172, Bela Vista
+ 55 11 5118-1047
ITGLOBAL.COM BR LTDA
Usamos cookies para melhorar sua experiência no Serverspace. Ao continuar a navegar em nosso site, você concorda com o Uso de Cookies e com a Política de Privacidade.