À mesure que Node.js devient de plus en plus populaire, de plus en plus de développeurs l'utilisent pour créer des applications backend. Ghost est une plateforme de blogs open source basée sur Node.js, qui utilise de nombreuses technologies et bibliothèques Node.js populaires pour aider les utilisateurs à créer de superbes blogs riches en fonctionnalités.
Cet article vous montrera comment héberger une application Node.js sur Ghost et la configurer avec un nom de domaine personnalisé et un certificat SSL.
Étape 1 : Choisissez un serveur cloud
Tout d'abord, vous devez choisir un serveur cloud pour héberger l'application Ghost. Il existe de nombreux fournisseurs de serveurs cloud sur le marché tels qu'AWS, DigitalOcean, Linode, etc. Cet article utilisera DigitalOcean comme exemple pour illustrer.
Étape 2 : Créer une machine virtuelle
Créer une machine virtuelle sur DigitalOcean est simple. Suivez ces étapes :
DigitalOcean créera et démarrera une nouvelle machine virtuelle pour vous.
Étape 3 : Installez Node.js et Ghost
Une fois votre machine virtuelle active, vous pouvez utiliser SSH pour vous connecter à la machine virtuelle et installer Node.js et Ghost.
Mettre à jour la liste des packages et mettre à niveau tous les packages installés :
sudo apt update sudo apt upgrade
Installer Node.js :
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt-get install -y nodejs
Télécharger Ghost et décompresser :
curl -L https://ghost.org/zip/ghost-latest.zip -o ghost-latest.zip unzip -uo ghost-latest.zip -d ghost
Installer les dépendances dans le répertoire Ghost :
cd ghost npm install --production
Courir Ghost :
npm start --production
Si tout est normal, vous pouvez saisir l'adresse IP du serveur + le port par défaut 2368 de Ghost dans le navigateur pour voir la page d'installation de Ghost.
Étape 4 : Configurer le nom de domaine personnalisé et le certificat SSL
Par défaut, les serveurs Ghost ne sont accessibles que via l'adresse IP. Si vous souhaitez configurer un nom de domaine personnalisé et un certificat SSL pour votre application Ghost, vous devez effectuer les étapes suivantes.
Installez Nginx en tant que serveur proxy inverse de Ghost.
sudo apt-get install nginx
Créez le fichier de configuration Nginx :
sudo nano /etc/nginx/sites-available/ghost
Ensuite, saisissez ce qui suit :
server { listen 80; listen [::]:80; server_name your_domain.com; location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://127.0.0.1:2368; } }
Ce fichier de configuration permettra à Nginx de faire office de passerelle pour Ghost. Veuillez noter de remplacer your_domain.com
par votre propre nom de domaine.
Faites prendre conscience à Nginx de l'existence de ce fichier de configuration :
sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/
Redémarrez le service Nginx :
sudo service nginx restart
Téléchargez le certificat SSL
Utilisez Letsencrypt Certbot pour demander le certificat. Dans votre terminal SSH, exécutez la commande suivante :
sudo apt install certbot python3-certbot-nginx
Ensuite, activez le certificat :
sudo certbot --nginx
Cette commande générera un certificat SSL pour votre application Ghost en utilisant le nom de domaine spécifié dans le fichier de configuration Nginx.
Activer HTTPS
Une fois votre certificat SSL activé et vérifié avec succès, vous pouvez configurer l'application Ghost pour qu'elle s'exécute uniquement sur HTTPS.
Fermez d'abord Ghost :
npm stop --production
Ajoutez ce qui suit dans la section « serveur » :
"url": "https://your_domain.com", "server": { "port": 2368, "host": "127.0.0.1" }, "ssl": { "force": true }
Redémarrez Ghost :
npm start --production
Maintenant, votre application Ghost s'exécute sur votre domaine personnalisé et HTTPS.
Conclusion
Félicitations ! Avec cet article, vous savez déjà comment héberger une application Node.js sur Ghost et configurer un nom de domaine personnalisé et un certificat SSL. Ces étapes peuvent également être utilisées pour héberger toute autre application Node.js.
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!