как настроить веб-приложение nodejs как сервис?

#linux #deployment #node.js

#linux #развертывание #node.js

Вопрос:

У меня установлен nodejs, npm, модули и коды моего приложения. На моем компьютере для разработчиков я просто набираю node app.js в папке моего приложения, чтобы запустить сервер разработки, но теперь пришло время развернуть его на реальном сервере. У меня возникла проблема.

  1. Где находится обычная папка для размещения кодов моего приложения.
  2. Какого пользователя следует использовать для запуска моего приложения nodejs. и как сделать так, чтобы у пользователя было разрешение только на выполнение кодов приложений и 80, 443, 843 портов.
  3. Как написать сценарий сервиса и остановить сервер, отключив pid?

Ответ №1:

порты определяются тем, какой порт прослушивает ваше приложение. Если у вас есть физический доступ через ssh к серверу и у вас есть привилегии root и т.д., вы можете просто рассматривать его как сервер разработки.

Я бы рекомендовал forever поддерживать его в рабочем состоянии и, возможно, написать балансировщик для одновременной обработки нескольких приложений узла.

Обработка разрешений должна выполняться на основе подключения. Пользователь подключается к вашему сервису, и вы проверяете его подлинность на предмет уровней разрешений. Это делается вручную.

Папка, в которую вы его помещаете, не очень важна.

Если у вас есть, скажем, no.de сервер вы можете узнать, как использовать их интеллектуальные машины. Есть аналогичные руководства, скажем, для Amazon EC2.

Ответ №2:

Я рекомендую монить с помощью Upstart. Вы можете прочитать об этом решении здесь и здесь. Вы также можете создать простой балансировщик нагрузки в nginx.