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.
Dans ce didacticiel, nous allons apprendre à configurer une application Web Koa.js pour la production, en utilisant Node.js. Nous allons également lier un exemple de domaine, avec un proxy inverse, en utilisant Apache, et apprendre à le gérer avec un gestionnaire de processus approprié. Sans plus tarder, commençons.
Node.js est un framework JavaScript multiplateforme rapide basé sur le moteur V8 de Chrome. Il est utilisé dans les applications de bureau et de serveur et est célèbre pour sa gestion de boucle d'événement à un seul thread. Node.js dispose d'un registre de packages appelé Node Package Manager (NPM), qui héberge plus d'un demi-million de packages. Les packages (ou modules) NPM sont le cœur de réseau de Node.js, car ils sont du code communautaire qui peut être utile dans votre application Node.js. Dans notre application Koa.js, Node.js est au cœur de sa fonction.
Koa.js est un framework web minimaliste, construit sur la plateforme Node.js. Fabriqué par la même équipe derrière le framework Express.js populaire, son objectif est de minimiser davantage le framework Express.js déjà minimaliste en excluant le middleware de son noyau. Une caractéristique majeure de Koa.js est le fait qu'il n'y a pas de rappel. Koa.js est construit sur des générateurs basés sur ES6 et des fonctionnalités ES6, telles que Promises.
Apache est un serveur Web open source populaire, utilisé comme point de départ très basique pour les serveurs Web. Dans ce didacticiel, nous utiliserons Apache comme proxy inverse, ce qui nous permettra de lier notre application à un exemple de domaine. Si vous n'avez pas de domaine, ce tutoriel fonctionnera toujours pour vous, à la seule différence que le site Web fonctionnera sur votre IP VPS, au lieu d'un domaine.
Comme pour tout framework Node.js, vous devrez installer Node.js sur votre VPS. Pour les besoins de ce didacticiel, je suppose que Node.js est déjà installé sur votre système. Sinon, vous pouvez simplement suivre les instructions ici .
Nous devrons créer un dossier, qui contiendra les fichiers de base de notre application.
mkdir site
N'hésitez pas à remplacer sitepar tout autre nom que vous souhaitez pour le répertoire. Ensuite, nous devrons initialiser notre fichier de package Node.js. Accédez au répertoire que vous venez de créer, exécutez npm initet complétez les invites. En fin de compte, cela devrait ressembler à ceci:
{
"name": "site",
"version": "1.0.0",
"description": "Koa.js Site",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "yourname",
"license": "ISC"
}
Maintenant que notre répertoire est configuré, nous pouvons procéder à l'installation de Koa.js. Dans le répertoire de travail actuel /site, tapez ce qui suit.
npm install koa
Cela va télécharger le module Koa.js à partir de NPM et l'installer dans notre répertoire de projet pour une utilisation future. Ensuite, nous allons créer notre exemple de fichier d'application qui contiendra notre code d'application. Pour ce faire, créez un index.jsfichier.
nano index.js
Une fois à l'intérieur du fichier, créez un exemple d'application.
const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
ctx.body = 'Hello World';
});
app.listen(3000);
console.log('Website is live!')
Enregistrez et fermez le fichier. CTRL+ X.
Nous voulons nous assurer que notre application fonctionne correctement. Pour le démarrer, exécutez node index.js, et vous verrez Website is livedans la console.
Maintenant que nous savons que notre site Web est fonctionnel, nous pouvons procéder à l'installation d'Apache et de ses dépendances.
sudo apt install -y libapache2-mod-proxy-html libxml2-dev
Afin d'utiliser la fonction de proxy inverse trouvée dans Apache, nous devrons activer les modules nécessaires.
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_ajp
a2enmod rewrite
a2enmod deflate
a2enmod headers
a2enmod proxy_balancer
a2enmod proxy_connect
a2enmod proxy_html
Certains de ces modules ont peut-être déjà été activés, mais il est toujours bon de les revérifier.
Maintenant, nous devons modifier le fichier de configuration par défaut pour Apache.
sudo nano /etc/apache2/sites-enabled/000-default.conf
Ici, nous devrons ajouter un bloc pour notre application.
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://0.0.0.0:3000/
ProxyPassReverse / http://0.0.0.0:3000
ServerName localhost
</VirtualHost>
Enregistrez le fichier, CTRL+ X.
Vous remarquerez peut-être que nous utilisons le port 3000comme port pour notre ProxyPasset ProxyPassReverseIP. Comme il s'agit du même port que celui sur lequel nous exécutons notre application Koa.js, il est impératif de saisir le bon port.
Une fois les modifications apportées, nous devrons redémarrer Apache et relancer notre application Koa.js.
sudo systemctl restart apache2
Cela garantira que notre fichier de configuration est actif et prêt à fonctionner lorsque nous démarrons notre application Koa.js. Une fois Apache redémarré, revenez dans le répertoire de votre site et démarrez l'application Koa.js comme nous l'avons fait précédemment. À partir de votre navigateur Web, accédez à http://yourdomainou http://yourip:, et vous verrez "Hello World".
Maintenant que nous avons couvert les bases de la création d'un exemple d'application Koa.js, nous nous rendons compte que dans un environnement de production, le démarrage de l'application tel que nous sommes maintenant n'est pas pratique. Un gestionnaire de processus est définitivement une exigence. C'est là que systemd entre en jeu. En termes simples, systemd se compose d'un logiciel qui fournit des blocs de construction pour un système Linux. Similaire à "init", il fournit un système pour gérer les processus utilisateur après le démarrage du système. Dans le cas de notre application, systemd nous permet de démarrer automatiquement notre site Web après le redémarrage du système, au cas où un événement perturbe la disponibilité du système. Il fournit également un ensemble d'outils qui peuvent être utiles lors de la gestion de notre application. La meilleure partie est le fait qu'il est intégré à Ubuntu 16.04 LTS, nous n'avons donc pas besoin d'installer de logiciel supplémentaire.
Tout ce dont nous avons besoin pour démarrer notre application sera contenu dans un fichier appelé service. Il contient des détails sur notre application, tels que son nom, son répertoire, son environnement et plus encore. Pour créer notre fichier système, ouvrez un éditeur de texte.
sudo nano /lib/systemd/system/site.service
Modifiez et enregistrez le fichier comme ceci.
[Unit]
Description=desc here
Documentation=https://example.com
After=network.target
[Service]
Environment=NODE_PORT=3000
Type=simple
User=youruser
ExecStart=/usr/bin/node /home/[youruser]/site/index.js
Restart=on-failure
[Install]
WantedBy=multi-user.target
Remplacez youruserpar le nom d'utilisateur de votre serveur. Voici un bref aperçu des domaines importants:
After - Cela informe systemd d'attendre que l'interface réseau soit prête avant de démarrer notre application.Environment- Ici, nous pouvons spécifier des variables d'environnement pour notre application. Notre port Node.js en fait partie.Type - Cela informe systemd que notre application peut simplement être démarrée, sans baisser les privilèges des utilisateurs et autres.User- Cela indique à systemd que nous voulons exécuter l'application sous notre compte utilisateur, ce qui est recommandé. L'exécution d'applications en tant qu'utilisateur root peut entraîner de nombreux compromis de sécurité.ExecStart - Essentiellement la commande que systemd exécutera pour démarrer notre application, similaire à la façon dont nous l'avons démarrée manuellement auparavant.Restart- Indique à systemd dans quelles conditions redémarrer notre application. Dans ce cas, nous souhaitons redémarrer notre site internet en cas d'erreur.Nous sommes maintenant prêts à démarrer notre service systemd.
sudo systemctl daemon-reload
Cela est nécessaire chaque fois qu'un fichier de service systemd change pour que systemd enregistre les nouvelles modifications apportées.
Ensuite, lancez votre application.
sudo systemctl start site
Accédez à nouveau au site dans votre navigateur pour vérifier que tout fonctionne.
stop - Arrête complètement l'application.restart - Arrête l'application et la redémarre sous un nouveau processus.enable - Indique à systemd de démarrer l'application chaque fois que vous démarrez votre ordinateur.status - Affiche des informations sur l'application en cours d'exécution, telles que la disponibilité, l'état de l'application et plus encore.Pour utiliser l'une de ces fonctions, exécutez ce qui suit.
systemctl <function> site
Nous avons réussi à mettre en place une application Koa.js et appris à inverser son proxy, ainsi qu'à la gérer avec systemd. Vous êtes maintenant prêt à développer votre application et à vous appuyer sur cet exemple. Si vous souhaitez en savoir plus sur Koa.js et plus de choses que vous pouvez faire avec, visitez leur site Web , pour plus d'informations utiles. En plus de cela, si vous souhaitez en savoir plus sur le gestionnaire de processus de systemd, lisez la documentation correspondante ici . Enfin, si vous souhaitez en savoir plus sur le proxy inverse d'Apache, n'hésitez pas à les consulter ici .
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.
Découvrez comment créer un serveur de messagerie avec hMailServer sous Windows pour recevoir des e-mails facilement.
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, 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.
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+
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.
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 d'extraction de données de Big Data
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
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.