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.
Empiece por asegurarse de que su servidor esté actualizado.
sudo apt update && sudo apt upgrade -y
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.
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.
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: ...)
Inicie sesión en la consola MySQL como usuario root:
sudo mysql
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;
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.
Laravel usa Composer como administrador de dependencias. Instalar Composer:
sudo apt install composer -y
Navega hasta el directorio donde deseas instalar Laravel (por ejemplo, /var/www/):
cd /var/www/ composer create-project --prefer-dist laravel/laravel laravel_app
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
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
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.
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/
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
Ejecute las migraciones de Laravel para configurar la base de datos:
cd /var/www/laravel_app php artisan migrate
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.
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.
Las colas manejan tareas como enviar correos electrónicos o procesar trabajos en segundo plano.
php artisan queue:work
Utilice la función de programación de tareas de Laravel para tareas como borrar cachés, enviar correos electrónicos diarios, etc.
sudo crontab -e
Agregue la siguiente línea:
* * * * * php /var/www/laravel_app/artisan schedule:run >> /dev/null 2>&1
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!
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