Выкладываем Node.js приложение в сеть

Выкладываем Node.js приложение в сеть


Привет бро) Наверно каждый сталкивался с такой ситуацией, когда он уже хорошо знает Node.js, но не знает куда выложить приложение. Обычно говорят, мол "покупай хост с VDS сервером". А они стоят немало, к тому же это несовсем правильная точка зрения. Чтобы разместить приложения можно пользоваться не только хостингами VDS, но и serverless или облачными сервисами.

Есть несколько вариантов, куда выложить Node.js приложение: Heroku, Azure, AWS, Firebase, Now и т.д. Сегодня мы рассмотрим такой сервис, как Now от компании Zeit. Я выбрал именно его, т.к. с ним я уже работал и выложить приложение на сервер Zeit очень просто.

Подготовка к работе

С помощью Now можно залить статический сайт, Node.js приложение или Docker приложение. Т.к. наш канал посвящён JavaScript, то мы выберем второй вариант. Сначала нам надо зарегаться. Переходим сюда и регистрируемся. Аккаунт создан, теперь нам нужно установить Now как консольную команду. Для этого открываем терминал и пишем:

$ npm i -g now

Когда установка завершится, нам нужно будет залогиниться, чтобы в будущем можно было отслеживать наше приложение:

$ now login
> We sent an email to example@gmail.com. Please follow the steps provided
 inside it and make sure the security code matches Elegant Hammerhead Shark.
\ Waiting for your confirmation

Вам придёт письмо на почту, и вы успешно залогинитесь.

Структура приложения

В качестве примера я возьму готовое приложение с GitHub.

Публикация приложения

Всё готово, теперь пишем одну команду, и наше приложение уже лежит на сервере:

$ now
Deploying ~\Desktop\app under tal_guy
> Your deployment's code and logs will be publicly accessible because you are subscribed to the OSS plan.
> NOTE: You can use `now --public` or upgrade your plan (https://zeit.co/account/plan) to skip t

Ждём когда всё загрузится и вуаля, наш скрипт уже закинут на домен!

> Using Node.js 8.11.3 (default)
> https://expressexample-oiowlpjgfg.now.sh [in clipboard] (bru1) [4s]
> Building…
> ▲ yarn
> yarn install v1.9.4
> info No lockfile found.
> [1/4] Resolving packages...
> warning jade@1.11.0: Jade has been renamed to pug, please install the latest version of pug instead of jade
> warning jade > constantinople@3.0.2: Please update to at least constantinople 3.1.1
> warning jade > transformers@2.1.0: Deprecated, use jstransformer
> [2/4] Fetching packages...
> [3/4] Linking dependencies...
> [4/4] Building fresh packages...
> success Saved lockfile.
> Done in 3.37s.
> ▲ Snapshotting deployment
> ▲ Saving deployment image (2.1M)
> Build completed
> Verifying instantiation in bru1
> √ Scaled 1 instance in bru1 [7s]
> Success! Deployment ready

Конечно же мы не получим оффициальный домен, потому что тогда бы на всех не хватило, поэтому в конце названия добавляются рандомные символы + .now.sh. Это потому что мы выбрали бесплатный план. В премиум плане домен можно выбрать самому.

Как видите, всё работает:

Управление приложением

Также на сайте Zeit можно просмотреть ошибки приложухи и его внутренности (всм файлы), и историю деплоев (загрузок на сервер):

Заключение

Наверно это одна из самых полезных статей, которую я когда либо писал. Теперь вы знаете как выложить своё творение в интернет, чтобы его можно было увидеть в действии.

Report Page