Onde aprender React ?
Vamos lá! Em um dia qualquer estava eu a rolar o feed do Linked-In e um determinado post me chamou... Leia mais
Desenvolvedor de Software
Neste post, você aprenderá a fazer o deploy de uma aplicação Laravel em uma VPS rodando Ubuntu com o servidor web Nginx e configurar HTTPS utilizando o Certbot. Além disso, será abordado como configurar um banco de dados MySQL na VPS.
sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y
sudo apt install php8.3-cli
sudo apt install php8.3-ctype php8.3-curl php8.3-dom php8.3-fileinfo php8.3-mbstring php8.3-opcache php8.3-pdo php8.3-tokenizer php8.3-xml php8.3-fpm php8.3-mysql php8.3-zip unzip
cd ~
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
HASH=`curl -sS https://composer.github.io/installer.sig`
echo $HASH
php -r "if (hash_file('SHA384', '/tmp/composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
composer
sudo systemctl enable mysql
sudo systemctl enable nginx
sudo systemctl enable php8.3-fpm
sudo systemctl status mysql
sudo systemctl status nginx
sudo systemctl status php8.3-fpm
Se sua aplicação Laravel utiliza o Node.js e npm, você precisará instalá-los também:
sudo apt install nodejs npm -y
node -v
npm -v
cd /var/www
sudo git clone https://github.com/usuario/exemplo.git
cd exemplo
sudo composer install --optimize-autoloader --no-dev
sudo cp .env.example .env
sudo php artisan key:generate
sudo chmod -R 777 storage
sudo chmod -R 777 bootstrap
sudo chmod -R 777 vendor
sudo nano /etc/nginx/sites-available/exemplo
server {
listen 80;
listen [::]:80;
server_name example.com;
root /var/www/example/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index 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/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
sudo ln -s /etc/nginx/sites-available/exemplo /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
sudo mysql -u root -p
CREATE DATABASE nome_do_banco_de_dados;
CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'senha';
GRANT ALL PRIVILEGES ON nome_do_banco_de_dados.* TO 'usuario'@'localhost';
FLUSH PRIVILEGES;
EXIT;
cd /var/www/exemplo
sudo php artisan migrate
sudo apt update
sudo apt install snapd
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx
sudo certbot renew --dry-run
Sua aplicação Laravel agora está configurada com HTTPS e pode ser acessada pelo domínio configurado.
Vamos lá! Em um dia qualquer estava eu a rolar o feed do Linked-In e um determinado post me chamou... Leia mais
ROW_NUMBER e Outras Funções para Gerar Resultados Sequenciais no PostgreSQLQuando trabalhamos com bancos de dados, muitas vezes precisamos gerar números sequenciais para nossos resultados. Isso pode ser útil para... Leia mais
No post de hoje, vamos abordar uma necessidade comum em programação: como obter uma data no formato ANO-MÊS-DIA (YYYY-MM-DD) a... Leia mais
O git cherry-pick é um dos comandos mais poderosos e versáteis no Git, mas muitas vezes é mal compreendido ou... Leia mais