Comment déployer une application Web .NET Core sur CentOS 7

.NET Core est un cadre de développement multiplateforme open source repensé, maintenu par Microsoft et la communauté .NET en constante évolution. Avec l'aide de .NET Core, les développeurs peuvent facilement créer des applications modernes hautes performances sur toutes sortes de plates-formes.

Dans cet article, je vais vous montrer comment installer .NET Core sur une instance de serveur CentOS 7, puis déployer une application Web .NET Core entièrement fonctionnelle.

Conditions préalables

Ajouter le flux de produits .NET au système

En tant que cadre de développement multiplateforme, .NET Core fournit des fichiers binaires précompilés pour divers systèmes d'exploitation. Sur CentOS 7, vous pouvez configurer un référentiel .NET YUM officiellement signé en exécutant les commandes suivantes en tant qu'utilisateur sudo:

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

Installez le dernier SDK .NET à l'aide de YUM

Une fois le référentiel .NET YUM en place, installez le dernier SDK .NET, y compris .NET Core et d'autres dépendances, sur votre ordinateur:

sudo yum update -y
sudo yum install libunwind libicu -y
sudo yum install dotnet-sdk-2.1.4 -y

Afin de confirmer le résultat, vous pouvez créer et exécuter une démo "Hello World" .NET Core:

cd
dotnet new console -o helloworldApp
cd helloworldApp
dotnet run

La dotnet new console -o helloworldAppcommande crée un répertoire nommé helloworldAppdans votre répertoire personnel, puis utilise le consolemodèle pour générer des fichiers d'application dans le répertoire nouvellement créé.

Lors de l'exécution de la dotnet runcommande, vous verrez le Hello World!message dans la console.

Créer une application Web .NET Core

Maintenant, créez et exécutez une application .NET Core de type razor. N'oubliez pas que «Razor Pages» est un nouveau modèle d'application de .NET Core MVC conçu pour les scénarios orientés page:

cd
dotnet new razor -o myfirstwebapp
cd myfirstwebapp
dotnet run

En exécutant la dotnet runcommande ci - dessus, vous allez commencer une application Web de base .NET écoute sur: http://localhost:5000.

Si vous souhaitez confirmer que l'application Web est opérationnelle, bien qu'elle se trouve sur une instance de serveur sans interface graphique, vous pouvez toujours ouvrir une nouvelle console de terminal et entrer curl http://localhost:5000pour afficher le code source de la page d'accueil de l'application Web.

Ensuite, vous pouvez appuyer sur CTRL+ Cpour fermer l'application Web .NET Core.

Pour matérialiser votre application Web, vous devez modifier des fichiers dans le répertoire de l'application. Vous pouvez en savoir plus sur la page officielle du document .NET .

Une fois toutes les tâches de développement terminées, vous pouvez utiliser les commandes suivantes pour publier votre application Web:

cd ~/myfirstwebapp
dotnet publish

Vous pouvez trouver l'application Web publiée dans le ~/myfirstwebapp/bin/Debug/netcoreapp2.0répertoire.

(Facultatif): Setup Supervisor pour garder votre application Web .NET Core en ligne

Des plantages de processus se produisent. Afin de garder votre application Web en ligne, il est judicieux de disposer d'un outil de gestion des processus, tel que Supervisor, pour surveiller et redémarrer les processus d'application Web en panne.

Sur CentOS 7, vous pouvez installer Supervisor à l'aide de YUM:

sudo yum install supervisor -y

Ensuite, vous devez configurer un fichier de configuration de superviseur dédié pour votre application Web:

cd /etc/supervisord.d
sudo vi myfirstwebapp.conf

Remplissez le fichier:

[program:myfirstwebapp]
command=dotnet myfirstwebapp.dll
directory=/home/sudouser/myfirstwebapp/bin/Debug/netcoreapp2.0/
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=1
stderr_logfile=/var/log/myfirstwebapp.err.log
stdout_logfile=/var/log/myfirstwebapp.out.log

Sauvegarder et quitter:

:wq!

Ensuite, vous devez modifier le supervisordfichier de configuration par défaut pour inclure le fichier de configuration que nous avons créé:

sudo cp /etc/supervisord.conf /etc/supervisord.conf.bak
sudo vi /etc/supervisord.conf

Trouvez la dernière ligne:

files = supervisord.d/*.ini

Remplacer:

files = supervisord.d/*.conf

Sauvegarder et quitter:

:wq!

Démarrez Supervisor et configurez-le pour qu'il démarre automatiquement au démarrage du système:

sudo systemctl start supervisord.service
sudo systemctl enable supervisord.service

Chargez les nouveaux paramètres du superviseur:

sudo supervisorctl reread
sudo supervisorctl update

Maintenant, vous pouvez utiliser la commande suivante pour afficher l'état de l'application:

sudo supervisorctl status

La sortie ressemblera à ceci:

myfirstwebapp                    RUNNING   pid 3925, uptime 0:08:45

Ensuite, vous pouvez essayer de tuer le processus de l'application en spécifiant le pid 3925:

sudo kill -s 9 3925

Attendez un moment, puis vérifiez à nouveau l'état:

sudo supervisorctl status

Cette fois, la sortie indiquera que l'application est tombée en panne et a démarré automatiquement:

myfirstwebapp                    RUNNING   pid 3925, uptime 0:00:06

(Facultatif): installez Nginx en tant que proxy inverse

Afin de faciliter l'accès des visiteurs, vous pouvez installer Nginx en tant que proxy inverse pour transmettre le trafic Web au port 5000.

Installez Nginx à l'aide de YUM:

sudo yum install nginx -y

Modifiez le fichier de configuration Nginx par défaut comme suit:

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
sudo vi /etc/nginx/nginx.conf

Recherchez le segment suivant dans le http {}segment:

location / {
}

Insérez six lignes de paramètres de proxy inverse entre les accolades comme indiqué ci-dessous:

location / {
proxy_pass http://127.0.0.1:5000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

Sauvegarder et quitter:

:wq!

Démarrez le service Nginx, puis configurez-le pour qu'il démarre au démarrage du système:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Configurer les règles de pare-feu

Avant que les visiteurs puissent accéder à l'application Web .NET Core sur les ports 80et 443, vous devez modifier les règles de pare-feu comme indiqué ci-dessous:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

Ceci termine la configuration de l'application. Vous êtes maintenant prêt à parcourir votre application Web .NET Core à l'adresse http://203.0.113.1.

Laisser un commentaire

Comment générer des clés SSH?

Comment générer des clés SSH?

Découvrez comment générer une clé SSH pour accéder à votre serveur sans mot de passe. Suivez nos étapes faciles à comprendre pour créer et ajouter des clés SSH.

Créer un serveur de messagerie avec hMailServer sous Windows

Créer un serveur de messagerie avec hMailServer sous Windows

Découvrez comment créer un serveur de messagerie avec hMailServer sous Windows pour recevoir des e-mails facilement.

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.