Darmowy hosting Node.js w Heroku

Hosting dla Node.js nadal nie jest zbyt rozpowszechniony, zwłaszcza w krajach niemieckojęzycznych. Amerykańska firma chmurowa Heroku oferuje tutaj rozwiązanie - a nawet bezpłatne . Zawsze zauważasz paradygmat „Twórz aplikacje ... nie infrastrukturę” i nadal nie masz prawie żadnych ograniczeń. Jako przykład, wdrażamy małe zadanie cron oparte na PhantomJS , które codziennie przetwarza witrynę i wysyła tytuł strony e-mailem.


Aby to zrobić, najpierw rejestrujemy się bezpłatnie pod adresem https://signup.heroku.com/:

Darmowy hosting Node.js w Heroku

Po obowiązkowym potwierdzeniu e-mailem wydamy bezpieczne hasło:

Darmowy hosting Node.js w Heroku

Aby później móc korzystać z bezpłatnych dodatków z Marketplace, musimy najpierw zweryfikować nasze konto pod https://heroku.com/verify , wprowadzając dane karty kredytowej (nie martw się, wszystko pozostaje bezpłatne):

Darmowy hosting Node.js w Heroku

Reszta odbywa się teraz wyłącznie w linii poleceń. Do tego potrzebujemy lokalnie Node.js / npm , Git i Heroku CLI .

Darmowy hosting Node.js w Heroku

W końcu logujemy się do Heroku lokalnie (raz) z linii poleceń:

Darmowy hosting Node.js w Heroku

Najpierw tworzymy nową aplikację w oparciu o odpowiedni buildpack . W naszym przykładzie używamy oficjalnego pakietu kompilacji Node.js heroku-buildpack-nodejs.git:

1a01abaf4b9308c5714622396ccc4708

Teraz tworzymy plik package.json, aby zainstalować pakiety PhantomJS , CasperJS , SpookyJS i Nodemailer wymagane dla naszego projektu:

1a01abaf4b9308c5714622396ccc4708

Rzeczywistą logikę można znaleźć w pliku script.js:

1a01abaf4b9308c5714622396ccc4708

Najpierw wszystko testujemy lokalnie:

1a01abaf4b9308c5714622396ccc4708

Skrypt wyodrębnia tytuł ze strony internetowej i wysyła e-mail:

Darmowy hosting Node.js w Heroku

Teraz przesuwamy wszystko na Heroku, co również uruchamia proces budowania:

1a01abaf4b9308c5714622396ccc4708

Jeśli chcesz później przesłać zmiany w kodzie do Heroku, po prostu naciśnij ponownie. Z jednej strony możemy teraz użyć SSH, aby sprawdzić, czy wszystko działa na serwerze:

1a01abaf4b9308c5714622396ccc4708

Tutaj również wiadomość e-mail jest wysyłana poprawnie. Teraz musimy tylko zautomatyzować ten proces:

1a01abaf4b9308c5714622396ccc4708

Dodajemy nowe wywołanie skryptu z „Dodaj nowe zadanie”:

Darmowy hosting Node.js w Heroku

W ramach testu wybieramy co 10 minut jako częstotliwość i zapisujemy:

Darmowy hosting Node.js w Heroku

Cronjob będzie teraz wykonywał swoją pracę automatycznie w przyszłości.

Plecy