Запустите Meteor как процесс Daemon

Я только что настроил сервер Linux CentOS для запуска приложения Meteor.

Первая проблема, с которой я сталкиваюсь сейчас, это запуск процесса метеора в качестве демона, поэтому он работает в фоновом режиме, и я могу выйти из сеанса SSH. При запуске с meteor --production я не могу.

При использовании Ruby on Rails я мог просто начать с rails s -d -p 80 и выйти.

Я узнал, что приложение с именем screen и echo "meteor --production" | at являются вариантами, но у меня не установлена ​​команда at, и установка приложения только для его запуска в фоновом режиме кажется странным выбором.

Мне действительно нужно установить screen или at? Есть ли другие варианты?


person Tim Baas    schedule 17.04.2014    source источник
comment
возможный дубликат Keep-meteor-running-on-amazon-ec2">Держать метеор на amazon EC2   -  person David Weldon    schedule 17.04.2014
comment
ты пробовал meteor --production & ? & в конце переводит задание в фоновый режим.   -  person Christian Fritz    schedule 18.04.2014
comment
Комментарий, данный @ChristianFritz, вводит в заблуждение; --production все еще находится в режиме разработки; просто файлы минимизированы. Вам нужно связать Meteor и запустить его как демон, как любой процесс node.   -  person Andrew Mao    schedule 18.04.2014
comment
@AndrewMao: это как бы не по делу. Хотя я согласен с вами в отношении объединения по сравнению с --production, ОП специально спрашивал об этом и действительно борется с проблемой Linux, связанной с сохранением процессов, запущенных в оболочке. Дело не в комплектации или нет.   -  person Christian Fritz    schedule 18.04.2014
comment
@ChristianFritz, запускающий процесс в фоновом режиме, приведет к его завершению, когда вы также выйдете из оболочки, если, например, вы не disown в bash. Я бы также предложил OP использовать screen.   -  person Andrew Mao    schedule 18.04.2014
comment
@ChristianFritz Хотя это было бы решением для меня, потому что на самом деле это не проблема, он работает в режиме разработки, он не будет работать, когда я выхожу из своей оболочки, процесс все еще останавливается.   -  person Tim Baas    schedule 18.04.2014
comment
@AndrewMao Screen действительно является решением, также я пробовал tmux, но не смог заставить его работать. После всех моих исследований я пришел к выводу, что пакетирование действительно лучший вариант. После сборки я буду использовать pm2 для его запуска, у него также есть много замечательных и полезных дополнительных функций.   -  person Tim Baas    schedule 18.04.2014


Ответы (4)


Meteor Up создает демон со следующими функциями:

  • Автоматический перезапуск в случае сбоя приложения (используя forever)

  • Автозапуск после перезагрузки сервера (используя upstart)

person Cees Timmerman    schedule 18.05.2015

Оказывается, нет простого способа запустить отдельное приложение Meteor. Всегда будет задействовано другое программное обеспечение, такое как screen, tmux или at.

Дубликат этого вопроса многое объясняет о процессе запуска вашего приложения после его объединения.

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

person Tim Baas    schedule 18.04.2014

Проект Demeteorizer может быть хорошим вариантом для вас. Он преобразует проект Meteor в стандартный проект Node.js.

Вы можете получить его по адресу https://github.com/onmodulus/demeteorizer.

person sheppe    schedule 25.11.2014

Вы можете использовать следующую команду оболочки

$ ROOT_URL="http://yourserver.com" nohup meteor --production -p 8085 >meteor.log 2>meteor.error.log &

Замените 8085 портом, на котором вы хотите его запустить. Если вы используете свой собственный экземпляр монго и не хотите использовать связанный монго метеора, вы также можете добавить MONGO_URL="mongodb://yourserver:port/"

person Dinesh Gadge    schedule 17.11.2017