la programmation

Déploiement ASP.NET Core avec MySQL et Nginx

Pour déployer une application ASP.NET Core avec un serveur MySQL utilisant Nginx comme proxy sur Ubuntu 18.04, vous aurez besoin de suivre plusieurs étapes. Voici un guide détaillé pour vous aider à réaliser cette tâche :

  1. Prérequis :

    • Un serveur Ubuntu 18.04 configuré avec un utilisateur non root avec des privilèges sudo.
    • Un domaine enregistré pointant vers votre serveur.
  2. Installer les dépendances nécessaires :

    • Mettez à jour les paquets de votre système Ubuntu :
    bash
    sudo apt update && sudo apt upgrade
    • Installez le runtime .NET Core :
    bash
    sudo apt install dotnet-sdk-5.0
    • Installez Nginx :
    bash
    sudo apt install nginx
    • Installez MySQL Server :
    bash
    sudo apt install mysql-server
  3. Configurer MySQL :

    • Une fois MySQL installé, vous devez sécuriser votre installation en exécutant :
    bash
    sudo mysql_secure_installation
    • Suivez les instructions pour configurer la sécurité de MySQL selon vos besoins.

    • Créez une base de données et un utilisateur pour votre application ASP.NET Core :

    bash
    mysql -u root -p
    sql
    CREATE DATABASE nom_de_votre_base_de_donnees; CREATE USER 'utilisateur'@'localhost' IDENTIFIED BY 'mot_de_passe'; GRANT ALL PRIVILEGES ON nom_de_votre_base_de_donnees.* TO 'utilisateur'@'localhost'; FLUSH PRIVILEGES; EXIT;
  4. Déployer votre application ASP.NET Core :

    • Transférez votre application ASP.NET Core sur le serveur Ubuntu, soit via SSH, Git, ou toute autre méthode que vous préférez.

    • Assurez-vous que votre application est configurée pour utiliser la base de données MySQL en spécifiant la chaîne de connexion dans votre fichier appsettings.json.

  5. Configurer Nginx comme proxy inverse :

    • Créez un fichier de configuration pour votre application dans le répertoire des sites disponibles de Nginx :
    bash
    sudo nano /etc/nginx/sites-available/votre_application
    • Voici un exemple de configuration pour Nginx :
    nginx
    server { listen 80; server_name votredomaine.com; location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
    • Activez le fichier de configuration en créant un lien symbolique dans le répertoire des sites activés :
    bash
    sudo ln -s /etc/nginx/sites-available/votre_application /etc/nginx/sites-enabled/
    • Vérifiez la syntaxe de votre configuration Nginx :
    bash
    sudo nginx -t
    • Redémarrez Nginx pour appliquer les modifications :
    bash
    sudo systemctl restart nginx
  6. Exécuter votre application ASP.NET Core :

    • Accédez au répertoire de votre application et exécutez-la en utilisant dotnet run ou en publiant et en exécutant un exécutable :
    bash
    cd /chemin/vers/votre/application dotnet run
  7. Tester votre déploiement :

    • Ouvrez un navigateur web et accédez à votre domaine (http://votredomaine.com). Vous devriez voir votre application ASP.NET Core chargée via Nginx, et elle devrait pouvoir se connecter à la base de données MySQL sans problème.

En suivant ces étapes, vous devriez être en mesure de déployer avec succès votre application ASP.NET Core avec un serveur MySQL utilisant Nginx comme proxy sur Ubuntu 18.04. Assurez-vous de personnaliser les configurations en fonction de vos besoins spécifiques.

Plus de connaissances

Bien sûr, plongeons plus en détail dans chaque étape du processus de déploiement :

  1. Prérequis :

    • Avant de commencer, assurez-vous d’avoir un accès administrateur à votre serveur Ubuntu 18.04. Si vous n’en avez pas déjà un, vous pouvez créer un utilisateur avec des privilèges sudo en suivant ces étapes :
    bash
    # Créer un nouvel utilisateur sudo adduser votre_utilisateur # Donner des privilèges sudo à l'utilisateur sudo usermod -aG sudo votre_utilisateur

    Assurez-vous également d’avoir un domaine enregistré et configuré pour pointer vers votre serveur. Vous aurez besoin de cette information pour configurer Nginx plus tard.

  2. Installer les dépendances nécessaires :

    • Assurez-vous de mettre à jour les paquets de votre système avant d’installer de nouveaux logiciels. Cela garantit que vous installez les versions les plus récentes et les plus sécurisées des paquets disponibles.

    • L’installation du runtime .NET Core est essentielle pour exécuter des applications ASP.NET Core sur votre serveur Ubuntu. Assurez-vous d’installer la version appropriée selon les besoins de votre application.

    • Nginx sera utilisé comme serveur web pour servir votre application ASP.NET Core. Il agira également en tant que proxy inverse pour rediriger les requêtes vers votre application.

    • MySQL Server est le système de gestion de base de données relationnelle que vous utiliserez pour stocker les données de votre application ASP.NET Core. Vous pouvez également utiliser une autre base de données compatible avec Entity Framework Core si vous le préférez.

  3. Configurer MySQL :

    • Lors de l’exécution de mysql_secure_installation, vous serez invité à configurer des options de sécurité pour votre installation MySQL. Ces options incluent la définition du mot de passe root, la suppression des utilisateurs anonymes, la désactivation de la connexion à distance en tant que root, la suppression de la base de données de test et la rechargement des privilèges.

    • La création d’une base de données et d’un utilisateur spécifique à votre application ASP.NET Core est nécessaire pour permettre à votre application d’interagir avec la base de données. Assurez-vous de remplacer nom_de_votre_base_de_donnees, utilisateur et mot_de_passe par des valeurs appropriées selon vos besoins.

  4. Déployer votre application ASP.NET Core :

    • Assurez-vous que votre application est correctement configurée pour utiliser la base de données MySQL en définissant la chaîne de connexion dans le fichier appsettings.json. Vous devrez fournir le nom de la base de données, le nom d’utilisateur et le mot de passe que vous avez configurés précédemment.

    • Lors du déploiement de votre application sur le serveur Ubuntu, vous pouvez choisir de le faire via SSH, Git, FTP ou tout autre moyen de transfert de fichiers que vous préférez. Assurez-vous simplement que les fichiers de votre application sont placés dans un répertoire accessible sur le serveur.

  5. Configurer Nginx comme proxy inverse :

    • La configuration de Nginx comme proxy inverse implique la création d’un fichier de configuration spécifique pour votre application dans le répertoire des sites disponibles de Nginx. Ce fichier de configuration spécifie comment Nginx doit traiter les requêtes entrantes pour votre domaine et comment les rediriger vers votre application ASP.NET Core.

    • Assurez-vous de remplacer votredomaine.com par votre propre nom de domaine enregistré. Vous pouvez également personnaliser d’autres options de configuration en fonction de vos besoins, comme la configuration SSL/TLS pour un accès sécurisé.

  6. Exécuter votre application ASP.NET Core :

    • Une fois que Nginx est configuré pour rediriger le trafic entrant vers votre application ASP.NET Core, vous pouvez exécuter votre application en accédant à son répertoire sur le serveur Ubuntu et en utilisant la commande dotnet run. Cette commande démarrera votre application et la rendra accessible via le port spécifié dans votre code.
  7. Tester votre déploiement :

    • Après avoir suivi toutes les étapes de déploiement, il est essentiel de tester votre déploiement pour vous assurer qu’il fonctionne correctement. Vous pouvez le faire en ouvrant un navigateur web et en accédant à votre domaine. Si tout est configuré correctement, vous devriez voir votre application ASP.NET Core chargée via Nginx et capable de se connecter à la base de données MySQL.

En suivant ces étapes avec soin et en adaptant les configurations à vos besoins spécifiques, vous devriez être en mesure de déployer avec succès votre application ASP.NET Core avec un serveur MySQL utilisant Nginx comme proxy sur Ubuntu 18.04. N’hésitez pas à consulter la documentation officielle des technologies utilisées pour obtenir des informations supplémentaires et des guides de dépannage en cas de problème.

Bouton retour en haut de la page