web-dev-qa-db-fra.com

Lancer définitivement le serveur http NodeJs avec PM2

Ma question concerne l'utilisation du serveur HTTP en combinaison avec PM2. 

Le problème que je rencontre est que:

  1. HTTP-server requiert en entrée un dossier qui est la racine du site Web et un numéro de port sur lequel le site Web est exécuté.
  2. PM2 ne reconnaît pas la commande serveur HTTP, même si le serveur HTTP est installé avec l'option -g.

J'ai donc essayé ce qui suit (notez le double tiret qui devrait transmettre les paramètres au script du serveur HTTP:

/node_modules/http-server/lib$ pm2 start http-server.js -- /home/unixuser/websiteroot -p8686

Mais ça ne marche pas.

J'ai aussi essayé:

http-server /home/unixuser/websiteroot -p8686

Lequel fonctionne, mais n'a pas le grand soutien de pm2?

Toutes les suggestions seraient super, merci!

15
Guy Hagemans

Vous l'avez presque eu.

Vérifiez où se trouve le serveur http en exécutant:

$ which http-server

Vous devriez obtenir quelque chose comme ceci /usr/bin/http-server

Ensuite, cd dans le répertoire à partir duquel vous voulez servir les fichiers et exécuter:

$ pm2 start /usr/bin/http-server --name my-file-server -- -p 8080 -d false

--name my-file-server est facultatif, mais -- est requis pour transmettre des arguments à la commande http-server.

33
G Man
pm2 start 'http-server-spa websiteroot index.html 8080'
0
Pablo Rosa

si nous avons une construction générée par grunt, alors allez sur son chemin et tapez:

~/app/build/prod$ Sudo pm2 start /usr/local/bin/http-server -p 8080

Maintenant, vérifiez le statut de l'application à localhost:8080

0
Jaswinder