Explication détaillée de la publication du programme ASP.NET Core dans l'environnement de production Linux

Y2J
Libérer: 2017-04-20 09:12:08
original
2070 Les gens l'ont consulté

Cet article présente principalement en détail la sortie des programmes ASP.NET Core dans l'environnement de production Linux. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer.

Dans cet article, nous présenterons comment déployer des applications ASP.NET Core sur le serveur Ubuntu 14.04. Nous placerons l'application ASP.NET Core derrière un serveur proxy inverse, qui transmettra les requêtes à notre serveur Kestrel. En plus de cela, nous veillerons à ce que notre application Web soit démarrée en tant que démon. Nous devons configurer un outil de gestion de processus pour nous aider à récupérer le programme en cas de panne afin de garantir une haute disponibilité.

Chapitre :

  • Préparation

  • Copiez votre candidature

  • Configurer un serveur proxy inverse

  • Surveiller notre application

  • Lancer notre application

  • Journaux d'observation

  • Sécuriser nos applications

Préparation

1. un compte standard avec les autorisations sudo pour accéder à l'application Ubuntu 14.04

2.

Copiez votre application

Exécutez dotnet Publishing Emballez votre application ASP.NET Core dans un répertoire autonome ( répertoire de publication, le programme de ce répertoire sera téléchargé sur le serveur et exécuté). Qu'est-ce qu'un programme autonome (autonome) ? Veuillez vous référer à mon article :

Types d'applications .NET Core (applications portables et applications autonomes). Avant l'opération, téléchargez tous les programmes du répertoire de publication vers le répertoire spécifié par le serveur via les outils FTP (WinSCP, etc.). Ensuite, nous exécutons notre programme. Pour plus de détails sur la façon d'exécuter le programme, veuillez vous référer à cet article : Créer une application console autonome à l'aide de .NET Core 1.0.

Configurer un serveur proxy inverse

Pour les applications Web dynamiques, le proxy inverse est un paramètre très courant. Le proxy inverse met fin à la demande en cours et transmet la demande à l'application backend ASP.NET Core.

Pourquoi utiliser un serveur proxy inverse

Kestrel en tant que serveur Web est très efficace pour gérer le contenu dynamique, mais il n'est pas aussi mature que ceux des serveurs Web. également entièrement fonctionnel, notamment : IIS, Apache ou Nginx. Le serveur proxy inverse peut décharger une partie du travail du serveur HTTP, notamment le traitement du contenu statique, la mise en cache, la compression et SSL. Le serveur proxy inverse peut être déployé sur un serveur dédié ou dans le même cluster que le serveur HTTP. Dans cet exemple, nous utiliserons Nginx comme serveur proxy inverse et le déploierons sur la même machine que le serveur HTTP.

Installer le serveur proxy

sudo apt-get install nginx

Installer Nginx

sudo service nginx start

Démarrer Nginx

Configurer Nginx

Modifier le fichier : /etc/nginx/sites -available/default est le suivant :


server {
 listen 80;
 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;
 }
}
Copier après la connexion

écoute sur le port 80, le port par défaut de HTTP utilisé par le proxy est : HTTP 1.1 ; la demande originale est transmise à : http://localhost:5000.

Une fois la configuration ci-dessus terminée, utilisez la commande suivante pour vérifier si la syntaxe du fichier de configuration est correcte :

sudo nginx -t

Si la syntaxe de configuration n'est pas S'il y a un problème, redémarrez Nginx pour que la configuration prenne effet :

sudo nginx -s reload

Surveillez notre application web

Nginx transmettra la requête à votre serveur Kestrel, mais Kestrel n'est pas comme IIS sous Windows, il ne gère pas votre processus Kestrel , dans cet article, nous utiliserons le superviseur pour démarrer notre application et se récupérer lorsque le système démarre ou lorsque le processus plante.

Superviseur d'installation :

sudo apt-get superviseur d'installation

Configurer le superviseur :

/etc/supervisor/ conf.d/hellomvc.conf (un nouveau fichier)


[program:hellomvc]
command=/usr/bin/dotnet /var/aspnetcore/HelloMVC/HelloMVC.dll
directory=/var/aspnetcore/HelloMVC/
autostart=true
autorestart=true
stderr_logfile=/var/log/hellomvc.err.log
stdout_logfile=/var/log/hellomvc.out.log
environment=ASPNETCOREENVIRONMENT=Production
user=www-data
stopsignal=INT
Copier après la connexion

Redémarrer superviseur


sudo service supervisor stop
sudo service supervisor start
Copier après la connexion

Démarrez notre application Web

Dans ce cas, parce que nous utilisons un superviseur pour gérer notre application, l'application sera automatiquement activée par le superviseur. Lorsque le système d'exploitation démarre, le superviseur est démarré en tant que démon à l'aide d'un script d'initialisation System V. Une fois le superviseur démarré, il démarrera votre application.

Journal d'observation

journal du superviseur

sudo tail -f /var/log/supervisor/supervisord.log

Journaux de nos propres applications

tail -f /var/log/hellomvc.out.log

Traduction originale : Publier sur un environnement de production Linux
Auteur : Sourabh Shirhatti

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!