Configuration requise
Prérequis de la base de données
- MySQL 5.7+ (ou MariaDB 10.3+) est requis
- L'utilisateur de la base de données doit avoir tous les privilèges pour gérer la base de données, y compris le privilège de
FLUSH TABLES, etc. - Pour garantir la prise en charge correcte de certains caractères linguistiques, l'interclassement de la base de données doit être défini sur l'une des options suivantes, par ordre de préférence, avec le jeu de caractères correspondant :
utf8mb4_0900_ai_ci,utf8mb4_unicode_ci,utf8mb4_general_ci,utf8mb3_unicode_ci,utf8mb3_general_ci,utf8_unicode_ci, ouutf8_general_ci. - Pour des performances optimales de la base de données, définissez
max_user_connectionsentre30-100pour contrôler la charge par utilisateur etmax_connectionsentre150-200pour gérer le trafic global.
Prérequis du serveur
- PHP 8.3 ou supérieur (avec toutes les fonctions PHP par défaut activées, y compris
exec(),escapeshellarg(), etc.) - Extension PHP BCMath
- Extension PHP Ctype
- Extension PHP cURL (version 7.34.0 ou supérieure)
- Extension PHP DOM
- Extension PHP Fileinfo
- Extension PHP Filter
- Extension PHP Hash
- Extension PHP JSON
- Extension PHP Mbstring
- Extension PHP OpenSSL
- Extension PHP PCRE
- Extension PHP PDO
- Extension PHP Session
- Extension PHP Tokenizer
- Extension PHP XML
- Extension PHP GD (ou extension PHP Imagick)
- PHP Zip Archive
- Module Rewrite activé
Prérequis PHP.ini
open_basedirdoit être désactivé
Permissions des fichiers et dossiers
/bootstrap 775 /storage 775 (récursivement)
Serveurs web supportés
- Apache. Note : Entièrement supporté.
- Nginx. Note : Entièrement supporté.
- LiteSpeed (ou OpenLiteSpeed). Note : Les permissions et la gestion du pare-feu doivent être correctement gérées. LSCache n'est pas supporté.
- Varnish. Important : La gestion du cache serveur doit être correctement gérée. De solides connaissances en configuration serveur et en programmation sont requises.
Recommandations de ressources serveur
La capacité des ressources serveur requise pour une application Laravel peut varier considérablement en fonction de la complexité de l'application, du trafic et des services dont elle dépend. Voici cependant quelques recommandations générales basées sur les cas d'utilisation courants :
1. Petite application Laravel
- CPU : 1-2 vCPUs
- RAM serveur : 2-4 Go
- RAM allouée à PHP : 512 Mo - 1 Go
- RAM allouée au serveur de base de données : 512 Mo - 1 Go
- Espace disque : 20-50 Go SSD
Convient aux petites applications à faible trafic, comme les blogs, les pages web simples ou les petits outils internes.
2. Application Laravel moyenne
- CPU : 2-4 vCPUs
- RAM serveur : 4-8 Go
- RAM allouée à PHP : 1-2 Go
- RAM allouée au serveur de base de données : 1-2 Go
- Espace disque : 50-100 Go SSD
Convient aux applications de taille moyenne, comme les sites e-commerce, les CMS ou les applications avec un trafic modéré et un nombre modéré d'utilisateurs.
3. Grande application Laravel
- CPU : 4-8 vCPUs
- RAM serveur : 8-16 Go
- RAM allouée à PHP : 2-4 Go
- RAM allouée au serveur de base de données : 2-4 Go
- Espace disque : 100-200 Go SSD (ou plus selon les besoins de stockage)
Convient aux grandes applications à fort trafic, avec une large base d'utilisateurs ou des fonctionnalités complexes, comme les réseaux sociaux, les plateformes SaaS ou les grands sites e-commerce.
4. Application Laravel de niveau entreprise
- CPU : 8+ vCPUs
- RAM serveur : 16-32+ Go
- RAM allouée à PHP : 4-8+ Go
- RAM allouée au serveur de base de données : 4-8+ Go
- Espace disque : 200 Go - 1 To SSD (ou plus selon les besoins de stockage)
Convient aux applications de niveau entreprise avec un trafic très élevé, des opérations critiques ou de grandes bases de données nécessitant de hautes performances et disponibilité.
Pour la plupart des applications, commencer avec une configuration de taille moyenne et augmenter selon les besoins est une approche pratique.
Par exemple, tous les sites de démonstration sont hébergés sur un hébergement mutualisé avec les caractéristiques suivantes :
- CPU : 4 vCore
- RAM serveur : 8 Go
- RAM allouée à PHP : Inconnu
- RAM allouée au serveur de base de données : 512 Mo
- Espace disque : 500 Go NAS SSD
- Bande passante : partagée
- Connexions simultanées à la base de données : 200
- Connexions utilisateur simultanées à la base de données : 30 & 50