Деплой Meteor приложения на сервер

Представим что Вы наконец доделали свой супер мега крутой проект на метеоре и настало время перенести его с локальной машины в продакшен, например на vps. Тут же встаёт вопрос, как захостить проект на метеоре? 

Тут на помощь приходит консольная утилита под названием meteor up(Github). С помощью нее настройка серверного окружения, деплой и обновление проекта сводится к простым консольным командам.

Установка meteor up производится через npm:

После этого в корень своего meteor проекта нужно положить файлик mup.json со следующим содержимым:

Можно за основу взять прямо этот файл и поменять лишь 3 поля:

Важно использовать на сервере Ubuntu 14.04, так как с 15.04 на момент написания статьи утилита не работает, не ставится mongoDB.
В mup.json описываются штуки которые meteor up поставит на ваш сервер.
Можно не ставить phantomsJS если не требуется. Эта штука нужна для SEO и работает в связке с пакетом spiderable. По сути берет вашу страничку, рендерит её на сервере и отдает поисковикам, говорят жрёт много ресурсов. Так что, если не делать сеошные фичи через spiderable, можно её отключить.

И так, mup.json в корне проекта. После этого в корне же проекта открываем терминал и пишем:

Эта команда поставит на сервер весь необходимый набор софта, описанный в файле mup.json . Операция занимает минут 5.

После этого заливаем проект на сервер с помошью команды:

Эта команда сбилдит проект и зальёт его на сервер в папку opt.

После всего этого на сервере вертится минифицированное node.js приложение. Ведь метеор при деплое на сервер превращается в обычное node приложение.

Ещё могу добавить, что если в приложении использовалась загрузка файлов или еще какие то операции с файловой системой, нужно дать права на нужные папки пользователю meteoruser.

Также можно почитать: