Я хочу использовать http-server и forever.js для развертывания моего приложения на удаленном сервере ubuntu. Но forever.js требует пути к файлу JS, а не к исполняемому. Поэтому я не могу передавать ключи на http-сервер. Лучшим решением до сих пор является установка http-сервера локально через npm и запуск чего-то вроде этого: forever start ./node_modules/http-server/bin/http-server
. Но в этом случае я не могу установить порт и другие параметры. Какая практика?Разверните узел с помощью http-сервера и навсегда
ответ
У меня была та же проблема. Найден узел node.js script, который может запускать команды оболочки и использовать его для запуска команды http-server вместе с параметрами.
пример Node.js сценария под названием 'startserver.js':
var sys = require('sys')
var exec = require('child_process').exec;
function puts(error, stdout, stderr) { sys.puts(stdout) }
exec("sudo http-server -a ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com -p 80", puts);
Затем вы можете запустить его с помощью навсегда:
forever start startserver.js
Вы можете настроить параметры с помощью этого кода. Просто используйте available flags после окончания вашей команды. Например:
forever start ./node_modules/http-server/bin/http-server -p 80 -d false
Это работало со мной
сначала получить путь HTTP-сервер, как этот
which http-server
, например, вы получите "/ USR/BIN/HTTP-сервер"
затем после этого напишите навсегда, а затем следуйте по пути http-server и пути к вашему приложению
forever start /usr/bin/http-server /your/app/path
С уважением.
Просмотрите каталог, содержащий ваши файлы И из командной строки введите: forever start -c http-server. -p your_port_number Пример: навсегда начать -c HTTP-сервер -p 8000
Таким образом, порт 8000 будет всегда указывать на HTML-файлы в каталоге.
Попробуйте это:
forever start $(which http-server)
Это не дает ответа на этот вопрос. Когда у вас будет достаточно [репутации] (https://stackoverflow.com/help/whats-reputation), вы сможете [прокомментировать любое сообщение] (https://stackoverflow.com/help/privileges/comment); вместо этого [предоставить ответы, которые не требуют разъяснений у аськи) (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- я-делать-вместо этого). - [Из обзора] (/ review/low-quality-posts/17850413) – Styx