Запуск http-сервера NodeJs навсегда с PM2

Мой вопрос касается запуска HTTP-сервера в сочетании с PM2.

Проблема, с которой я сталкиваюсь, заключается в том, что:

  1. HTTP-сервер требует в качестве входных данных папку, которая является корнем веб-сайта, и номер порта для запуска веб-сайта.
  2. PM2 не распознает команду HTTP-сервера, даже если HTTP-сервер установлен с опцией -g.

Итак, я попробовал следующее (обратите внимание на двойное тире, которое должно передавать параметры сценарию HTTP-сервера:

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

Но это не работает.

Я также пробовал:

http-server /home/unixuser/websiteroot -p8686

Что работает, но не имеет отличной поддержки pm2?

Любые предложения были бы замечательными, спасибо!


person Guy Hagemans    schedule 04.08.2015    source источник
comment
вы можете перейти к пути сборки и нажать: build/prod$ sudo pm2 start /usr/local/bin/http-server -p 8080   -  person Jaswinder    schedule 11.02.2017


Ответы (3)


У тебя почти получилось.

Проверьте, где находится http-сервер, выполнив:

$ which http-server

У вас должно получиться что-то вроде этого /usr/bin/http-server

Затем cd в каталог, из которого вы хотите обслуживать файлы, и выполните:

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

--name my-file-server является необязательным, но -- требуется для передачи аргументов команде http-server.

person G Man    schedule 28.08.2015
comment
У вас часто будет несколько версий/установок одного и того же исполняемого файла на одном компьютере, и which удобно видеть, какая из них связана с командой. - person G Man; 27.10.2015
comment
Спасибо за упоминание -- для передачи аргументов на http-сервер, я пришел за этим - person Syed Faizan; 03.08.2016

pm2 start <location>/http-server --name http-server -- -p <port> -d false

or

Модули PM2 сами имеют встроенный статический файл для обслуживания, который похож на http-сервер https://pm2.keymetrics.io/docs/usage/expose/

pm2 serve <path> <port>
person Madan    schedule 31.10.2019

если у нас есть сборка, сгенерированная grunt, то идем по ее пути и нажимаем:

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

Теперь проверьте статус приложения на localhost:8080

person Jaswinder    schedule 11.02.2017