Instalación en Laravel Vapor
Paso 1: Configuración de Laravel Vapor
Crear una Cuenta en Laravel Vapor:
o Dirígete a Laravel Vapor y crea una cuenta.
o Accede al panel de configuración y vincula tu cuenta de Laravel Vapor con tu cuenta de AWS para desplegar la aplicación en AWS.
Instalar la CLI de Laravel Vapor:
Bloque de código |
---|
composer global require laravel/vapor-cli |
Asegúrate de que el directorio
Bloque de código |
---|
~/.composer/vendor/bin |
está en tu
Bloque de código |
---|
$PATH |
. Puedes añadir la siguiente línea a tu archivo
Bloque de código |
---|
.bashrc |
o
Bloque de código |
---|
.zshrc |
Bloque de código |
---|
export PATH="$HOME/.composer/vendor/bin:$PATH" |
Autenticarse en Laravel Vapor:
Bloque de código |
---|
vapor login |
Inicializar Vapor en el Proyecto:
Navega al directorio de tu proyecto backend y ejecuta:
Bloque de código |
---|
vapor init |
Configurar las Variables de Entorno:
Define las variables de entorno necesarias en el archivo vapor.yml, como la configuración de la base de datos PostgreSQL y cualquier otra variable de configuración:
Paso 2: Despliegue en Laravel Vapor
Realizar un Build del Proyecto:
Bloque de código |
---|
vapor build |
Desplegar el Proyecto:
Bloque de código |
---|
vapor deploy production |
Configurar Workers:
En el archivo vapor.yml, define los workers necesarios para procesar los default jobs:
Instalación del Worker de Long-running-processes en AWS EC2
Paso 1: Configuración del Servidor EC2
Crear una Instancia EC2:
o Inicia sesión en la consola de AWS y navega al servicio EC2.
o Crea una nueva instancia EC2 (recomendamos usar Amazon Linux 2 o Ubuntu).
o Durante la configuración de la instancia, crea y descarga una clave de acceso (.pem) para conectarte vía SSH.
o Configura las reglas del grupo de seguridad para permitir el acceso SSH (puerto 22).
Conectar a la Instancia:
Conéctate a la instancia EC2 mediante SSH utilizando la clave descargada:
Bloque de código | ||
---|---|---|
| ||
ssh -i "path/to/your-key.pem" ec2-user@your-ec2-public-dns |
Actualizar el Sistema:
Bloque de código |
---|
sudo yum update -y # Para Amazon Linux |
Bloque de código |
---|
sudo apt-get update -y && sudo apt-get upgrade -y # Para Ubuntu |
Paso 2: Configuración del Ambiente de Laravel
Instalar PHP y Dependencias:
Bloque de código |
---|
sudo yum install -y php php-fpm php-mysqlnd php-pdo php-xml php-mbstring git # Para Amazon Linux sudo apt-get install -y php php-fpm php-mysql php-pdo php-xml php-mbstring git # Para Ubuntu |
Instalar Composer:
Bloque de código |
---|
curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer |
Clonar el Repositorio Backend:
Bloque de código |
---|
git clone https://bitbucket/technisupport3/efranco.git cd efranco composer install |
Configurar el Archivo .env:
Copia el archivo
Bloque de código |
---|
.env.example |
a
Bloque de código |
---|
.env |
y configúralo con tus valores de entorno.
Generar la Clave de la Aplicación:
Bloque de código |
---|
php artisan key:generate |
Paso 3: Configurar y Ejecutar el Worker
Instalar Supervisor:
Bloque de código |
---|
sudo yum install -y supervisor # Para Amazon Linux sudo apt-get install -y supervisor # Para Ubuntu |
Configurar Supervisor para el Worker:
Crea un archivo de configuración para Supervisor enBloque de código /etc/supervisord.d/laravel-worker.conf
(Amazon Linux) o
Bloque de código /etc/supervisor/conf.d/laravel-worker.conf
(Ubuntu):
Bloque de código |
---|
[program:laravel-worker] process_name=%(program_name)s_%(process_num)02d command=php /path/to/your/project/artisan queue:work sqs --sleep=3 --tries=3 --timeout=3600 autostart=true autorestart=true user=ec2-user numprocs=1 redirect_stderr=true stdout_logfile=/path/to/your/project/worker.log |
Reiniciar y Habilitar Supervisor:
Bloque de código |
---|
sudo systemctl enable supervisor sudo systemctl start supervisor sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl start laravel-worker:* |