Стартирайте 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 run on amazon EC2   -  person David Weldon    schedule 17.04.2014
comment
пробвал ли си meteor --production & ? & в края поставя работата на заден план.   -  person Christian Fritz    schedule 18.04.2014
comment
Коментарът, даден от @ChristianFritz, е подвеждащ; --production все още е режим на разработка; просто файловете са минимизирани. Трябва да обедините Meteor и да го стартирате като демон, какъвто бихте обработили всеки възел.   -  person Andrew Mao    schedule 18.04.2014
comment
@AndrewMao: това е нещо извън смисъла. Въпреки че съм съгласен с вас по отношение на групирането срещу --production, OP изрично попита за това и наистина се бори с проблем с Linux за поддържане на процеси, стартирани в обвивка, живи. Тук не става въпрос за групиране или не.   -  person Christian Fritz    schedule 18.04.2014
comment
@ChristianFritz поставянето на фон на процес ще доведе до неговото излизане, когато излезете от обвивката също, освен ако не disown в bash, например. Също така бих предложил OP да използва екран.   -  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 създава демон със следните функции:

  • Автоматично рестартиране, ако приложението се срине (с помощта на завинаги)

  • Автоматично стартиране след рестартиране на сървъра (с помощта на 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 и не искате да използвате пакета mongo на meteor, можете също да добавите MONGO_URL="mongodb://yourserver:port/"

person Dinesh Gadge    schedule 17.11.2017