GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer ReactJS avec le proxy Nginx sur CentOS 8

React est une bibliothèque JavaScript gratuite et open-source développée par Facebook. Il est utilisé pour créer des composants d'interface Web et d'interface utilisateur. Il est souvent utilisé pour développer des applications Web ou des applications mobiles. Il permet aux développeurs de créer des composants réutilisables indépendants les uns des autres. Il peut être utilisé avec d'autres bibliothèques, notamment Axios, JQuery AJAX ou le navigateur intégré window.fetch.

Dans cet article, nous allons vous montrer comment installer React JS sur CentOS 8

Prérequis

  • Un serveur exécutant CentOS 8.
  • Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
  • Un mot de passe root est configuré sur le serveur.

Mise en route

Avant de commencer, vous devrez mettre à jour vos packages système vers la dernière version. Vous pouvez les mettre à jour en exécutant la commande suivante :

dnf update -y

Une fois que tous les packages sont à jour, installez les autres dépendances requises avec la commande suivante :

dnf install gcc-c++ make curl -y

Une fois que vous avez terminé d'installer les dépendances requises, vous pouvez passer à l'étape suivante.

Installer NPM et Node.js

Ensuite, vous devrez installer Node.js et NPM sur votre système. NPM également appelé gestionnaire de packages est un outil de ligne de commande utilisé pour interagir avec les packages Javascript. Par défaut, la dernière version de NPM et Node.js n'est pas incluse dans le référentiel par défaut de CentOS. Vous devrez donc ajouter le référentiel source Node à votre système. Vous pouvez l'ajouter avec la commande suivante :

curl -sL https://rpm.nodesource.com/setup_14.x | bash -

Une fois le référentiel ajouté, installez Node.js et NPM avec la commande suivante :

dnf install nodejs -y

Une fois l'installation terminée, vérifiez la version de Node.js en exécutant la commande suivante :

node -v

Vous devriez obtenir le résultat suivant :

v14.16.0

Vous pouvez également vérifier la version de NPM en exécutant la commande suivante :

npm -v

Vous devriez obtenir le résultat suivant :

6.14.11

À ce stade, NPM et Node.js sont installés sur votre système. Vous pouvez maintenant procéder à l'installation de Reactjs.

Installer Reactjs

Avant de commencer, vous devrez installer create-react-app sur votre système. Il s'agit d'un utilitaire de ligne de commande utilisé pour créer une application React.

Vous pouvez l'installer à l'aide du NPM comme indiqué ci-dessous :

npm install -g create-react-app

Une fois installé, vérifiez la version installée de create-react-app à l'aide de la commande suivante :

create-react-app --version

Vous devriez voir le résultat suivant :

4.0.3

Ensuite, créez votre première application Reactjs avec la commande suivante :

create-react-app myapp

Vous devriez voir le résultat suivant :

Success! Created myapp at /root/myapp
Inside that directory, you can run several commands:

  npm start
    Starts the development server.

  npm run build
    Bundles the app into static files for production.

  npm test
    Starts the test runner.

  npm run eject
    Removes this tool and copies build dependencies, configuration files
    and scripts into the app directory. If you do this, you can’t go back!

We suggest that you begin by typing:

  cd myapp
  npm start

Ensuite, changez le répertoire en myapp et démarrez l'application avec la commande suivante :

cd myapp
npm start

Une fois l'application démarrée avec succès, vous devriez obtenir le résultat suivant :

Compiled successfully!

You can now view myapp in the browser.

  http://localhost:3000

Note that the development build is not optimized.
To create a production build, use npm run build.

Maintenant, appuyez sur CTRL + C pour arrêter l'application. Vous pouvez maintenant passer à l'étape suivante.

Créer un fichier de service Systemd pour Reactjs

Ensuite, c'est une bonne idée de créer un fichier de service systemd pour gérer le service Reactjs. Vous pouvez le créer avec la commande suivante :

nano /lib/systemd/system/react.service

Ajoutez les lignes suivantes :

[Unit]
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/root/myapp
ExecStart=/usr/bin/npm start
Restart=on-failure

[Install]
WantedBy=multi-user.target

Enregistrez et fermez le fichier puis rechargez le démon systemd avec la commande suivante :

systemctl daemon-reload

Ensuite, démarrez le service Reactjs et activez-le au redémarrage du système avec la commande suivante :

systemctl start react
systemctl enable react

Ensuite, vérifiez l'état de l'application Reactjs avec la commande suivante :

systemctl status react

Vous devriez obtenir le résultat suivant :

? react.service
   Loaded: loaded (/usr/lib/systemd/system/react.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-03-23 02:52:32 EDT; 6s ago
 Main PID: 2191 (node)
    Tasks: 29 (limit: 12524)
   Memory: 220.3M
   CGroup: /system.slice/react.service
           ??2191 npm
           ??2202 node /root/myapp/node_modules/.bin/react-scripts start
           ??2209 /usr/bin/node /root/myapp/node_modules/react-scripts/scripts/start.js

Mar 23 02:52:34 centos8 npm[2191]: ? ?wds?: Project is running at http://0.0.0.0:3000/
Mar 23 02:52:34 centos8 npm[2191]: ? ?wds?: webpack output is served from
Mar 23 02:52:34 centos8 npm[2191]: ? ?wds?: Content not from webpack is served from /root/myapp/public
Mar 23 02:52:34 centos8 npm[2191]: ? ?wds?: 404s will fallback to /
Mar 23 02:52:34 centos8 npm[2191]: Starting the development server...
Mar 23 02:52:37 centos8 npm[2191]: Compiled successfully!
Mar 23 02:52:37 centos8 npm[2191]: You can now view myapp in the browser.
Mar 23 02:52:37 centos8 npm[2191]:   http://localhost:3000
Mar 23 02:52:37 centos8 npm[2191]: Note that the development build is not optimized.
Mar 23 02:52:37 centos8 npm[2191]: To create a production build, use npm run build.

À ce stade, Reactjs est démarré et écoute sur le port 3000. Vous pouvez le vérifier avec la commande suivante :

ss -antpl | grep 3000

Vous devriez obtenir le résultat suivant :

LISTEN    0         128                0.0.0.0:3000             0.0.0.0:*        users:(("node",pid=2209,fd=18))                                                

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Configurer Nginx en tant que proxy inverse pour l'application React

Ensuite, vous devrez configurer Nginx en tant que proxy inverse pour accéder à l'application React sur le port 80. Tout d'abord, installez le package Nginx avec la commande suivante :

dnf install nginx -y

Une fois le Nginx installé, créez un nouveau fichier de configuration d'hôte virtuel Nginx avec la commande suivante :

nano /etc/nginx/conf.d/react.conf

Ajoutez les lignes suivantes :

server {
    listen 80;
    server_name react.example.com;

    location / {
        proxy_set_header   X-Forwarded-For $remote_addr;
        proxy_set_header   Host $http_host;
        proxy_pass         http://localhost:3000;
    }
}

Enregistrez et fermez le fichier lorsque vous avez terminé, puis vérifiez le Nginx pour toute erreur de syntaxe avec la commande suivante :

nginx -t

Vous devriez obtenir le résultat suivant :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Enfin, démarrez le service Nginx et activez-le au redémarrage du système en exécutant la commande suivante :

systemctl start nginx
systemctl enable nginx

Vous pouvez également vérifier l'état du Nginx en exécutant la commande suivante :

systemctl status nginx

Vous devriez obtenir le statut du service React dans la sortie suivante :

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-03-23 02:57:48 EDT; 4s ago
  Process: 4079 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 4078 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 4076 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 4081 (nginx)
    Tasks: 2 (limit: 12524)
   Memory: 4.0M
   CGroup: /system.slice/nginx.service
           ??4081 nginx: master process /usr/sbin/nginx
           ??4082 nginx: worker process

Mar 23 02:57:48 centos8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Mar 23 02:57:48 centos8 nginx[4078]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Mar 23 02:57:48 centos8 nginx[4078]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Mar 23 02:57:48 centos8 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Mar 23 02:57:48 centos8 systemd[1]: Started The nginx HTTP and reverse proxy server.

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Configurer le pare-feu

Ensuite, vous devrez autoriser les ports 80 et 443 à travers le pare-feu. Vous pouvez les autoriser en exécutant la commande suivante :

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp

Ensuite, rechargez le pare-feu pour appliquer les modifications de configuration :

firewall-cmd --reload

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Accéder à l'application Reactjs

Maintenant, ouvrez votre navigateur Web et accédez à votre application Reactjs en utilisant l'URL http://react.example.com . Vous devriez voir la page Reactjs sur l'écran suivant :

Conclusion

Toutes nos félicitations! vous avez installé avec succès Reactjs sur CentOS 8. Vous avez également configuré Nginx en tant que proxy inverse pour l'application Reactjs. Vous pouvez maintenant commencer à développer votre application Reactjs.


Cent OS
  1. Comment installer et configurer Varnish Cache 6 avec Nginx sur CentOS 8

  2. Comment installer phpMyAdmin avec Nginx sur CentOS 7 / RHEL 7

  3. Comment installer Odoo 11 sur CentOS 7 avec Nginx comme proxy inverse

  4. Comment installer Odoo sur CentOS 8 avec Nginx en tant que proxy inverse

  5. Comment installer Odoo 14 sur CentOS 8 avec Nginx en tant que proxy inverse

Comment installer phpMyAdmin avec Nginx sur CentOS 8 / RHEL 8

Comment installer Nginx avec ngx_pagespeed sur CentOS

Comment installer Nginx avec PHP-FastCGI sur CentOS 6

Comment installer Magento avec Nginx sur CentOS 7

Comment installer ReactJS sur CentOS 8

Comment installer Nginx avec le module RTMP sur CentOS 8