LogExCollab

DevOps & Infrastructure Posté le 31/07/2026 à 12:44

Déployer une application Laravel sur un VPS pas cher

0 4
GG
Auteur
Grace Wanjiru

Quel est le workflow recommandé pour mettre en production une app Laravel sur un petit VPS (Nginx, PHP-FPM, déploiement) sans se ruiner ?


Tags : #Laravel #VPS #CI/CD

4 commentaires

AA
Assistant LOGEXCOLLAB 🤖 IA
Posté le 31/07/2026 à 12:59
0 j'aime
✅ Solution
🤖 Réponse IA — ✅ validée par la communauté Une réponse humaine reste prioritaire.

Bonjour ! En tant qu'assistant LOGEXCOLLAB, voici le workflow recommandé pour déployer une application Laravel sur un VPS à petit budget, en restant simple et efficace.

Comme cela est souvent conseillé au sein de notre communauté : commence simple puis itère, et ne sur-optimise pas trop tôt [source 1].

1. Préparation du VPS (Ubuntu LTS recommandé)

Sur un petit VPS (ex. 1 Go de RAM), la ressource la plus critique est la mémoire.

  • Configurer un fichier Swap (Essentiel sur petit VPS) : Active au moins 1 à 2 Go de mémoire Swap. Cela évite que le serveur ne plante ou que composer ne s'arrête par manque de mémoire (Out of Memory).
  • Sécurité de base : Crée un utilisateur non-root avec privilèges sudo, désactive l'authentification par mot de passe en SSH (utilise les clés SSH), et configure le pare-feu ufw (autorise seulement les ports 22, 80 et 443).

2. Installation de la pile technique (LEMP)

  • PHP & PHP-FPM : Installe la version de PHP requise par ton projet ainsi que ses extensions courantes (php-fpm, php-mysql ou php-sqlite3, php-mbstring, php-xml, php-curl, php-zip, php-bcmath).
  • Nginx : Crée un fichier de configuration dans /etc/nginx/sites-available/ pointant le répertoire root vers le dossier /public de ton projet Laravel.
  • Base de données : MySQL/MariaDB, ou SQLite si l'application est très légère.

3. Workflow de Déploiement (Simple & Léger)

Pour ne pas surcharger le serveur avec des outils lourds :

  1. Build des assets en local : Exécute npm run build sur ta machine locale puis intègre/push le dossier public/build dans ton dépôt Git (ou via un script), afin d'éviter de faire tourner npm sur le petit VPS.
  2. Clonage du projet : Clone ton dépôt Git dans /var/www/ton-projet.
  3. Variables d'environnement :
    • Copie le fichier .env.example en .env.
    • Configure APP_ENV=production et APP_DEBUG=false.
    • Génère la clé : php artisan key:generate.
  4. Permissions des dossiers :
    • Donne les droits d'écriture au serveur Web sur les dossiers clés : sudo chown -R www-data:www-data storage bootstrap/cache
  5. Commandes d'optimisation Laravel :
    • composer install --no-dev --optimize-autoloader
    • php artisan migrate --force
    • php artisan config:cache
    • php artisan route:cache
    • php artisan view:cache

4. Automatiser la suite (CI/CD ultra-léger)

Pour éviter de faire toutes ces étapes à la main à chaque mise à jour :

  • Option A (La plus simple) : Un simple script Bash (deploy.sh) sur le serveur que tu exécutes après un git pull.
  • Option B : Un workflow GitHub Actions minimaliste qui se connecte en SSH au VPS pour exécuter le script de déploiement.
  • Option C : Utiliser Deployer (un outil PHP de déploiement très léger).

5. SSL Gratuit

  • Utilise Certbot avec le plugin Nginx (sudo certbot --nginx -d ton-domaine.com) pour obtenir un certificat HTTPS gratuit via Let's Encrypt.

Note : Si ton trafic augmente par la suite, tu pourras faire évoluer ce workflow (ajout d'outils comme Laravel Forge, Redis pour le cache, ou séparation de la base de données), mais cette configuration de base est amplement suffisante pour démarrer à moindre coût.

Sources : comment #17 comment #20 comment #41 comment #49 comment #62
FF
Fatou Ndiaye
Posté le 31/07/2026 à 12:44
7 j'aime

Bonne question. De mon expérience, commence simple puis itère : ne sur-optimise pas trop tôt.

AA
Aïcha Diallo
Posté le 31/07/2026 à 12:44
6 j'aime

J'ai rencontré le même besoin. La documentation officielle est étonnamment complète sur ce point, jette-y un œil.

KK
Kofi Asante
Posté le 31/07/2026 à 12:44
0 j'aime

Attention à bien tester en conditions réelles (réseau lent, petits appareils) avant de conclure.

Laisser un commentaire