Где развертывать приложения node.js на сервере Linux?
Я запускаю 4 отдельных приложения Node.js на сервере Linux с разными портами и прокси-сервером впереди.
Поскольку я (прямо сейчас) единственный пользователь на сервере, неважно, где я размещаю приложения и как их запускать. В настоящее время мои приложения остаются в моем домашнем каталоге (~/app1/
, ~/app2/
и т.д.).
Итак, мой вопрос: где я должен размещать приложения, чтобы они могли делиться между несколькими пользователями? Существует ли стандартное место, подобное /var/www
?
Ответы
Ответ 1
Я использую https://github.com/visionmedia/deploy для развертывания моих приложений. Он создаст каталог /var/www/productname
. Внутри этого каталога есть источник, текущий и общий. Общий каталог имеет файлы log
и pid
.
Я обнаружил, что хорошая структура каталогов так, что я использую для всех моих проектов.
Ответ 2
Я запускаю Apache в дополнение к Node.js на том же сервере, поэтому мне не очень нравится иметь приложения для Apache и Node.js в том же каталоге. Мои приложения, размещенные в Apache, входят в традиционный /var/www/path, и я помещаю свои приложения Node.JS в /var/ node/. Это связано с некоторой автоматизацией, которую я установил как в Apache (Dynamic Virtual Hosts), так и в Node.JS.
Более подробную информацию о настройке и автоматизации развертывания прокси и Apache можно найти здесь: Как использовать vhosts вместе с node -http-proxy?
Ответ 3
Если вы используете AWS Elastic beans для приложения Node JS на сервере Linux, то он должен находиться в каталоге /var/app/current/
Ответ 4
Следуя рекомендациям здесь - https://serverfault.com/a/96420
указывает, что /opt/ node может быть лучшим местом для этого, так как это каталог catchall, который зарезервирован для добавленных пользователем файлов программы