Maison >Opération et maintenance >Nginx >NGINX et PM2 : créer un environnement VPS efficace

NGINX et PM2 : créer un environnement VPS efficace

王林
王林original
2023-09-26 15:45:171264parcourir

NGINX与PM2: 构建高效的VPS环境

NGINX et PM2 : Construire un environnement VPS efficace nécessite des exemples de code spécifiques

Avec le développement rapide d'Internet, de plus en plus de sites Web et d'applications sont déployés sur des serveurs privés virtuels (VPS). Pour garantir le fonctionnement efficace et la fiabilité de ces applications, nous devons choisir les outils et technologies appropriés pour créer et gérer l'environnement VPS.

Dans cet article, nous nous concentrerons sur deux outils clés : NGINX et PM2. NGINX est un serveur Web et un serveur proxy inverse hautes performances, tandis que PM2 est un puissant gestionnaire de processus. En utilisant ces deux outils, nous pouvons créer un environnement VPS efficace pour fournir des services d'application stables et fiables.

Tout d’abord, découvrons NGINX. NGINX est un serveur HTTP et un serveur proxy inverse open source hautes performances. Il peut gérer efficacement un grand nombre de requêtes simultanées et fournir une réponse rapide aux ressources statiques. De plus, NGINX dispose également de puissantes fonctions d'équilibrage de charge et de proxy inverse qui peuvent transmettre les requêtes à différents serveurs backend. Cela nous permet d’atteindre facilement une haute disponibilité et une évolutivité.

Voici un exemple de configuration utilisant NGINX comme proxy inverse :

server {
   listen 80;
   server_name example.com;

   location / {
      proxy_pass http://localhost:3000;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   }
}

Dans l'exemple de configuration ci-dessus, nous transmettons toutes les requêtes de example.com à l'application exécutée localement sur le port 3000. Dans le même temps, nous avons également défini certains en-têtes HTTP pour transmettre des informations pertinentes.

Ensuite, introduisons PM2. PM2 est un gestionnaire de processus open source qui peut être utilisé pour gérer les applications Node.js. Il surveille l'état des applications et récupère automatiquement en cas d'échec. De plus, PM2 dispose de capacités d'équilibrage de charge et de clustering pour gérer facilement plusieurs requêtes simultanées.

Voici un exemple de commande pour lancer et gérer une application Node.js à l'aide de PM2 :

pm2 start app.js -i max

Dans l'exemple de commande ci-dessus, nous utilisons PM2 pour lancer une application Node.js nommée app.js et utilisons -i Les jeux de paramètres le nombre de processus à la valeur maximale. Cela définira automatiquement le nombre de processus en fonction du nombre de cœurs de processeur disponibles.

En utilisant NGINX et PM2, nous pouvons créer un environnement VPS efficace. Vous trouverez ci-dessous un exemple de fichier de configuration complet qui montre comment utiliser NGINX avec PM2 :

http {
   upstream app_servers {
      server localhost:3000;
      server localhost:3001;
      server localhost:3002;
   }

   server {
      listen 80;
      server_name example.com;

      location / {
         proxy_pass http://app_servers;
         proxy_set_header Host $host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      }
   }
}

Dans l'exemple de fichier de configuration ci-dessus, nous avons utilisé un groupe d'équilibrage de charge appelé app_servers qui contient des serveurs s'exécutant sur différents ports et plusieurs applications Node.js. NGINX transmettra automatiquement les demandes aux serveurs backend disponibles en fonction d'algorithmes d'équilibrage de charge.

Ensuite, nous pouvons utiliser PM2 pour lancer et gérer ces applications Node.js :

pm2 start app.js -i 3

Dans l'exemple de commande ci-dessus, nous utilisons PM2 pour lancer trois processus permettant de gérer ces applications. PM2 surveillera automatiquement ces processus et les redémarrera automatiquement en cas de panne.

En résumé, l'utilisation de NGINX et PM2 peut créer un environnement VPS efficace. NGINX fournit des fonctions de serveur Web et de proxy inverse hautes performances, tandis que PM2 offre de puissantes capacités de gestion des processus et de récupération des pannes. En utilisant ces deux outils ensemble, nous pouvons facilement créer et gérer des services d'application stables et fiables.

Dans les applications réelles, nous pouvons également effectuer une configuration et une optimisation supplémentaires en fonction de besoins spécifiques. Grâce à un équilibrage de charge et à une configuration de cluster raisonnables, nous pouvons obtenir une disponibilité et des performances supérieures. De plus, une surveillance régulière et une analyse des journaux sont également des aspects importants pour garantir le fonctionnement stable du système.

Par conséquent, j'espère que les exemples de code de NGINX et PM2 fournis dans cet article pourront aider les lecteurs à créer un environnement VPS efficace et à en tirer une meilleure expérience de service d'application.

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!

Déclaration:
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