Implantar um aplicativo Laravel no Ubuntu com a pilha LEMP (Linux, Nginx, MySQL, PHP) pode parecer assustador, mas dividi-lo passo a passo torna-o gerenciável. Este guia irá guiá-lo através do processo desde a configuração do servidor até a implantação de um aplicativo Laravel.
Comece garantindo que seu servidor esteja atualizado.
sudo apt update && sudo apt upgrade -y
O Nginx atenderá seu aplicativo.
sudo apt install nginx -y
Depois de instalado, você pode iniciar e ativar o Nginx para ser executado na inicialização:
sudo systemctl start nginx sudo systemctl enable nginx
Você pode verificar se o Nginx está em execução visitando o endereço IP do seu servidor em um navegador.
A seguir, instalaremos o servidor de banco de dados MySQL.
sudo apt install mysql-server -y
Proteja a instalação do MySQL:
sudo mysql_secure_installation
Isso solicitará que você configure uma senha root e remova padrões inseguros.
Laravel requer PHP, então vamos instalá-lo junto com algumas extensões necessárias:
sudo apt install php-fpm php-mysql php-cli php-xml php-mbstring php-curl php-zip -y
Verifique a instalação do PHP:
php -v
Você deverá ver algo como:
PHP 7.x.x (cli) (built: ...)
Faça login no console do MySQL como usuário root:
sudo mysql
Crie um novo banco de dados e usuário para a aplicação Laravel:
CREATE DATABASE laravel_app; CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'strong_password'; GRANT ALL PRIVILEGES ON laravel_app.* TO 'laravel_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
Garanta que o novo usuário do banco de dados possa se conectar:
mysql -u laravel_user -p
Será solicitada a senha e digite:
SHOW DATABASES;
Você deverá ver laravel_app na lista.
Laravel usa o Composer como seu gerenciador de dependências. Instale o Compositor:
sudo apt install composer -y
Navegue até o diretório onde deseja instalar o Laravel (por exemplo, /var/www/):
cd /var/www/ composer create-project --prefer-dist laravel/laravel laravel_app
O Laravel requer que alguns diretórios sejam graváveis pelo servidor web:
sudo chown -R www-data:www-data /var/www/laravel_app sudo chmod -R 775 /var/www/laravel_app/storage sudo chmod -R 775 /var/www/laravel_app/bootstrap/cache
Na raiz do projeto Laravel, abra o arquivo .env e defina as configurações do banco de dados:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel_app DB_USERNAME=laravel_user DB_PASSWORD=strong_password
Criaremos um arquivo de configuração Nginx para o projeto Laravel.
sudo nano /etc/nginx/sites-available/laravel_app
Adicione a seguinte configuração ao arquivo:
server { listen 80; server_name your_domain_or_ip; root /var/www/laravel_app/public; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.x-fpm.sock; # Change this to the correct PHP version. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } }
Substitua your_domain_or_ip pelo nome de domínio real ou endereço IP do servidor.
Ative a nova configuração do Nginx criando um link simbólico para sites habilitados:
sudo ln -s /etc/nginx/sites-available/laravel_app /etc/nginx/sites-enabled/
Teste a configuração do Nginx para garantir que não haja erros de sintaxe:
sudo nginx -t
Se estiver tudo bem, reinicie o Nginx:
sudo systemctl reload nginx
Execute as migrações do Laravel para configurar o banco de dados:
cd /var/www/laravel_app php artisan migrate
Agora você deve conseguir acessar o aplicativo Laravel navegando até o IP ou domínio do seu servidor no navegador. Você verá a página de boas-vindas padrão do Laravel.
Se você tiver um domínio, proteja seu site com Let's Encrypt:
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d your_domain
Siga as instruções para instalar um certificado SSL. O Certbot configurará automaticamente o Nginx para redirecionar o tráfego HTTP para HTTPS.
As filas lidam com tarefas como envio de e-mails ou processamento de trabalhos em segundo plano.
php artisan queue:work
Use o recurso de agendamento de tarefas do Laravel para tarefas como limpar caches, enviar e-mails diários, etc.
sudo crontab -e
Adicione a seguinte linha:
* * * * * php /var/www/laravel_app/artisan schedule:run >> /dev/null 2>&1
Você implantou com sucesso um aplicativo Laravel em um servidor Ubuntu usando a pilha LEMP. A partir daqui, você pode continuar a desenvolver seu aplicativo, protegê-lo e monitorar seu desempenho.
Se você encontrar algum problema, verifique os logs de erros do Nginx em /var/log/nginx/error.log ou os logs do Laravel em /var/www/laravel_app/storage/logs/laravel.log.
Com essas etapas, você concluiu uma implantação prática completa do Laravel!
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3