Безкоштовний хостинг Node.js на Heroku

Хостинг для Node.js все ще не дуже поширений, особливо в німецькомовних країнах. Американська хмарна компанія Heroku пропонує тут рішення - і навіть безкоштовне . Ви завжди помічаєте парадигму "Створення додатків ... а не інфраструктури", і при цьому навряд чи є якісь обмеження. Як приклад, ми реалізуємо невелике завдання cron на основі PhantomJS , яке щодня обробляє веб-сайт і надсилає заголовок сторінки електронною поштою.


Для цього ми спочатку безкоштовно реєструємось на https://signup.heroku.com/:

Безкоштовний хостинг Node.js на Heroku

Після обов'язкового підтвердження електронною поштою ми призначимо надійний пароль:

Безкоштовний хостинг Node.js на Heroku

Для того, щоб пізніше мати можливість використовувати безкоштовні доповнення з Marketplace, спочатку ми повинні підтвердити свій рахунок під https://heroku.com/verify , ввівши кредитну картку (не хвилюйтеся, все залишається безкоштовно):

Безкоштовний хостинг Node.js на Heroku

Решта тепер відбувається виключно в командному рядку. Для цього нам потрібні локально Node.js / npm , Git та Heroku CLI .

Безкоштовний хостинг Node.js на Heroku

Ми нарешті входимо в Heroku локально (один раз) у командному рядку:

Безкоштовний хостинг Node.js на Heroku

Спочатку ми створюємо новий додаток на основі відповідного buildpack . У нашому прикладі ми використовуємо офіційний Node.js buildpack heroku-buildpack-nodejs.git:

1a01abaf4b9308c5714622396ccc4708

Тепер ми створюємо пакет.json , щоб встановити пакети PhantomJS , CasperJS , SpookyJS та Nodemailer, необхідні для нашого проекту:

1a01abaf4b9308c5714622396ccc4708

Фактичну логіку можна знайти в script.js:

1a01abaf4b9308c5714622396ccc4708

Спочатку ми перевіряємо все локально:

1a01abaf4b9308c5714622396ccc4708

Сценарій витягує заголовок із веб-сайту та надсилає електронне повідомлення:

Безкоштовний хостинг Node.js на Heroku

Зараз ми все натискаємо на Heroku, що також запускає процес збірки:

1a01abaf4b9308c5714622396ccc4708

Якщо ви хочете пізніше змінити код на Heroku, ви просто натиснете ще раз. З одного боку, тепер ми можемо через SSH перевірити, чи все працює на сервері:

1a01abaf4b9308c5714622396ccc4708

Тут також електронне повідомлення надіслано правильно. Тепер нам залишається лише автоматизувати процес:

1a01abaf4b9308c5714622396ccc4708

Ми додаємо новий виклик сценарію за допомогою "Додати нову роботу":

Безкоштовний хостинг Node.js на Heroku

В якості тесту ми вибираємо кожні 10 хвилин як частоту і зберігаємо її:

Безкоштовний хостинг Node.js на Heroku

Тепер cronjob автоматично виконуватиме свою роботу автоматично.

Назад