"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Implementación sencilla de Laravel en Ubuntu: una guía para principiantes con LEMP Stack

Implementación sencilla de Laravel en Ubuntu: una guía para principiantes con LEMP Stack

Publicado el 2024-11-01
Navegar:921

Easy Laravel Deployment on Ubuntu: A Beginner

Implementar una aplicación Laravel en Ubuntu con la pila LEMP (Linux, Nginx, MySQL, PHP) puede parecer desalentador, pero desglosarla paso a paso lo hace manejable. Esta guía lo guiará a través del proceso desde la configuración del servidor hasta la implementación de una aplicación Laravel.

Requisitos previos:

  • Debes tener un servidor Ubuntu (local o en la nube, por ejemplo, AWS, DigitalOcean).
  • Familiarización básica con el terminal.
  • Un nombre de dominio (opcional pero recomendado).

Parte 1: Configuración de la pila LEMP

Paso 1: actualice el sistema

Empiece por asegurarse de que su servidor esté actualizado.

sudo apt update && sudo apt upgrade -y

Paso 2: instalar Nginx

Nginx entregará su aplicación.

sudo apt install nginx -y

Una vez instalado, puede iniciar y habilitar Nginx para que se ejecute en el arranque:

sudo systemctl start nginx
sudo systemctl enable nginx

Puedes verificar que Nginx se está ejecutando visitando la dirección IP de tu servidor en un navegador.

Paso 3: instale MySQL

A continuación, instalaremos el servidor de base de datos MySQL.

sudo apt install mysql-server -y

Asegurar la instalación de MySQL:

sudo mysql_secure_installation

Esto le solicitará que configure una contraseña de root y elimine los valores predeterminados inseguros.

Paso 4: instalar PHP

Laravel requiere PHP, así que instalémoslo junto con algunas extensiones necesarias:

sudo apt install php-fpm php-mysql php-cli php-xml php-mbstring php-curl php-zip -y

Verificar la instalación de PHP:

php -v

Deberías ver algo como:

PHP 7.x.x (cli) (built: ...)

Parte 2: Configurar MySQL para Laravel

Paso 1: inicie sesión en MySQL

Inicie sesión en la consola MySQL como usuario root:

sudo mysql

Paso 2: crear una base de datos

Crear una nueva base de datos y usuario para la aplicación 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;

Paso 3: probar la base de datos

Asegúrese de que el nuevo usuario de la base de datos pueda conectarse:

mysql -u laravel_user -p

Se te pedirá la contraseña y luego ingresa:

SHOW DATABASES;

Deberías ver laravel_app en la lista.


Parte 3: Instalación de Laravel

Paso 1: instalar el compositor

Laravel usa Composer como administrador de dependencias. Instalar Composer:

sudo apt install composer -y

Paso 2: crea un proyecto Laravel

Navega hasta el directorio donde deseas instalar Laravel (por ejemplo, /var/www/):

cd /var/www/
composer create-project --prefer-dist laravel/laravel laravel_app

Paso 3: establecer permisos de directorio

Laravel requiere que el servidor web pueda escribir en algunos directorios:

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

Paso 4: configurar el archivo .env

En la raíz del proyecto Laravel, abra el archivo .env y configure los ajustes de la base de datos:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_app
DB_USERNAME=laravel_user
DB_PASSWORD=strong_password

Parte 4: Configurar Nginx para Laravel

Paso 1: cree un nuevo bloque de servidor Nginx

Crearemos un archivo de configuración de Nginx para el proyecto Laravel.

sudo nano /etc/nginx/sites-available/laravel_app

Agregue la siguiente configuración al archivo:

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;
    }
}

Reemplace your_domain_or_ip con su nombre de dominio real o dirección IP del servidor.

Paso 2: habilite la configuración de Nginx

Habilite la nueva configuración de Nginx creando un enlace simbólico a sitios habilitados:

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

Paso 3: prueba y recarga Nginx

Pruebe la configuración de Nginx para asegurarse de que no haya errores de sintaxis:

sudo nginx -t

Si todo está bien, reinicia Nginx:

sudo systemctl reload nginx

Parte 5: Pasos finales

Paso 1: ejecutar migraciones de Laravel

Ejecute las migraciones de Laravel para configurar la base de datos:

cd /var/www/laravel_app
php artisan migrate

Paso 2: Accede a la Aplicación

Ahora debería poder acceder a la aplicación Laravel navegando a la IP o dominio de su servidor en el navegador. Verás la página de bienvenida predeterminada de Laravel.

Paso 3: habilite HTTPS (opcional pero recomendado)

Si tienes un dominio, protege tu sitio con Let's Encrypt:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain

Siga las instrucciones para instalar un certificado SSL. Certbot configurará automáticamente Nginx para redirigir el tráfico HTTP a HTTPS.


Parte 6: Opcional: Configuración de la cola y el programador de Laravel

Cola de Laravel:

Las colas manejan tareas como enviar correos electrónicos o procesar trabajos en segundo plano.

  1. Configurar un controlador de cola (por ejemplo, Redis o base de datos).
  2. Ejecute el trabajador de cola de Laravel:
   php artisan queue:work

Programador Laravel:

Utilice la función de programación de tareas de Laravel para tareas como borrar cachés, enviar correos electrónicos diarios, etc.

  1. Agregue la entrada cron de Laravel a su crontab:
   sudo crontab -e

Agregue la siguiente línea:

   * * * * * php /var/www/laravel_app/artisan schedule:run >> /dev/null 2>&1

Conclusión:

Implementaste exitosamente una aplicación Laravel en un servidor Ubuntu usando la pila LEMP. Desde aquí, puede continuar desarrollando su aplicación, protegerla y monitorear su rendimiento.

Si encuentra algún problema, consulte los registros de errores de Nginx en /var/log/nginx/error.log o los registros de Laravel en /var/www/laravel_app/storage/logs/laravel.log.

¡Con estos pasos, habrás completado una implementación práctica completa de Laravel!

Declaración de liberación Este artículo se reproduce en: https://dev.to/mdarifulhaque/easy-laravel-deployment-on-ubuntu-a-beginners-guide-with-lemp-stack-155a?1 Si hay alguna infracción, comuníquese con Study_golang @163.com eliminar
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3