Maison  >  Article  >  Opération et maintenance  >  NGINX PM2 VPS : créez rapidement un serveur d'applications évolutif

NGINX PM2 VPS : créez rapidement un serveur d'applications évolutif

PHPz
PHPzoriginal
2023-09-26 10:41:021154parcourir

NGINX PM2 VPS: 快速搭建可扩展的应用服务器

NGINX PM2 VPS : créez rapidement un serveur d'applications évolutif

Introduction :
Dans le développement d'applications moderne, la création d'un serveur d'applications évolutif est devenue cruciale. NGINX, PM2 et VPS sont trois outils puissants, et leur combinaison permet de créer rapidement un serveur d'applications évolutif. Cet article explique comment utiliser ces outils pour créer un serveur d'applications hautes performances et fournit des exemples de code spécifiques.

1. Qu'est-ce que NGINX ?
NGINX est un serveur Web et un serveur proxy inverse hautes performances. Il peut gérer les demandes à haute concurrence, répondre rapidement et dispose d'un équilibrage de charge et d'une sécurité fiables. Lors de la création d'un serveur d'applications évolutif, NGINX est généralement utilisé comme serveur frontal pour recevoir les demandes des clients et transmettre les demandes au serveur d'applications principal.

2. Qu'est-ce que les PM2 ?
PM2 est un outil de gestion de processus qui peut fournir des fonctions de gestion et de surveillance des applications lorsque les applications Node.js sont en cours d'exécution. PM2 garantit un fonctionnement stable de l'application, redémarre automatiquement l'application et fournit des journaux d'erreurs lorsque l'application plante. Lors de la création d'un serveur d'applications évolutif, PM2 peut être utilisé pour gérer et surveiller plusieurs processus d'application.

3. Qu'est-ce que le VPS ?
VPS (Virtual Private Server) est une technologie de virtualisation qui permet de diviser plusieurs serveurs virtuels indépendants sur un serveur physique. Chaque serveur virtuel possède son propre système d'exploitation et ses propres ressources et peut exécuter des applications de manière indépendante. Lors de la création d'un serveur d'applications évolutif, vous pouvez utiliser VPS pour allouer et gérer des serveurs virtuels pour plusieurs applications.

Quatre étapes pour créer rapidement un serveur d'applications évolutif :

  1. Acheter un VPS
    Tout d'abord, vous devez acheter un VPS. Vous pouvez choisir des fournisseurs de VPS bien connus, tels que Alibaba Cloud, Tencent Cloud, etc. Choisissez la configuration qui correspond à vos besoins et achetez un ou plusieurs VPS.
  2. Installez NGINX
    Connectez-vous au VPS et installez NGINX via des outils de gestion de packages (tels que apt, yum). Une fois l'installation terminée, exécutez la commande suivante pour démarrer le service NGINX :
sudo systemctl start nginx
  1. Configurez le proxy inverse NGINX
    Modifiez le fichier de configuration NGINX /etc/nginx/sites-available/default , ajoutez le contenu suivant et ajoutez le client Transférez la requête au serveur d'application backend : /etc/nginx/sites-available/default,添加以下内容,将客户端的请求转发到后端的应用服务器:
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;
    }
}

保存并退出配置文件,然后重新加载 NGINX 配置:

sudo systemctl reload nginx
  1. 安装 Node.js 和 PM2
    使用包管理工具安装 Node.js,并全局安装 PM2。安装完成后,进入应用程序的根目录,执行以下命令启动应用程序:
pm2 start app.js

应用程序现在会在后台运行,并由 PM2 进程管理工具监控。可以使用以下命令查看应用程序的状态:

pm2 list
  1. 添加更多的应用程序
    如果要添加更多的应用程序,可以在不同的端口上启动多个应用程序进程。例如,要添加第二个应用程序,可以执行以下命令:
pm2 start app2.js
  1. 配置负载均衡器
    如果希望将请求分发到不同的后端应用服务器,可以使用负载均衡器来实现。可以使用 NGINX 的 upstream 模块来配置负载均衡。编辑 NGINX 配置文件 /etc/nginx/sites-available/default
  2. upstream backend {
        server localhost:3000;
        server localhost:3001;
        # 添加更多的后端服务器
    }
    
    server {
        listen 80;
        server_name example.com;
    
        location / {
            proxy_pass http://backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
Enregistrez et quittez le fichier de configuration, puis rechargez la configuration NGINX :

sudo systemctl reload nginx

    Installez Node. js et PM2

    Utilisez l'outil de gestion de packages pour installer Node js et installez PM2 globalement. Une fois l'installation terminée, accédez au répertoire racine de l'application et exécutez la commande suivante pour démarrer l'application :

    rrreee
    L'application s'exécutera désormais en arrière-plan et sera surveillée par l'outil de gestion des processus PM2. Vous pouvez afficher l'état de l'application à l'aide de la commande suivante :

    rrreee
      🎜Ajouter plus d'applications🎜Si vous souhaitez ajouter plus d'applications, vous pouvez démarrer plusieurs processus de candidature sur différents ports. Par exemple, pour ajouter une deuxième application, vous pouvez exécuter la commande suivante : 🎜🎜rrreee
        🎜Configurer un équilibreur de charge🎜Si vous souhaitez distribuer les requêtes vers différents serveurs d'applications backend, vous pouvez utiliser un équilibreur de charge équilibreur à réaliser. L'équilibrage de charge peut être configuré à l'aide du module en amont de NGINX. Modifiez le fichier de configuration NGINX /etc/nginx/sites-available/default et ajoutez ce qui suit : 🎜🎜rrreee🎜Enregistrez et quittez le fichier de configuration, puis rechargez la configuration NGINX : 🎜rrreee🎜Maintenant, NGINX demandera la distribution à différents serveurs d'applications back-end pour réaliser l'équilibrage de charge. 🎜🎜Conclusion : 🎜En combinant NGINX, PM2 et VPS, vous pouvez rapidement créer un serveur d'applications évolutif. NGINX fournit des fonctions de traitement des requêtes et d'équilibrage de charge hautes performances, PM2 fournit des fonctions de gestion et de surveillance des applications et VPS fournit un environnement virtuel pour exécuter des applications de manière indépendante. J'espère que les exemples de code fournis dans cet article seront utiles pour créer un serveur d'applications évolutif. 🎜

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