Свой Node.js хостинг на VPS / Хабр

Свой Node.js хостинг на VPS / Хабр Хостинг
Содержание
  1. Мою банковскую карточку не приняли для оплаты
  2. Подготавливаем проект
  3. Регистрация на DigitalOcean
  4. Заливаем и запускаем проект
  5. Создаем SSH-ключ
  6. Создал дроплет, но по IP адресу нет страницы настройки dokku
  7. 3 бесплатный хостинг node.js
  8. Не могу получить доступ к дроплету ни по паролю, ни по SSH
  9. Создаем дроплет
  10. Настройка Дроплета и DNS
  11. Я не знаю пароля от дроплета
  12. Настраиваем использование SSH
  13. Проект не запускается по указанной ссылке
  14. Я пропустил создание SSH, и теперь хочу сделать авторизацию по SSH-ключу
  15. Как добавить доменное имя к уже существующему дроплету
  16. A2 hosting
  17. A2 hosting особенность:
  18. A2 hosting поддержка клиентов:
  19. Azure
  20. Best node.js hosting
  21. Digitalocean
  22. Evennode
  23. Fastcomet
  24. Google cloud
  25. Heroku
  26. Hostpresto
  27. Kamatera
  28. Nodechef
  29. Platform.sh
  30. Smarterasp.net особенности:
  31. Smarterasp.net поддержка клиентов:
  32. Vps/vds с node.js — аренда впс по цене от 55 рублей
  33. What’s the best node.js hosting for your needs?
  34. Деплоим приложение
  35. Проблемы и их устранение
  36. Хостинг с node js (nodejs). установка и настройка node.js
  37. Поддержка клиентов bisend:
  38. Conclusion

Мою банковскую карточку не приняли для оплаты

Они такие, да. Даже Visa Classic им не нравится. Оплатите через PayPal, это не трудно.

Подготавливаем проект

Возьмите простой проект, типа

, без mongodb и прочего. Проверьте, что в проекте есть самое главное: «package.json», «Procfile» и какой-нибудь «app.js». «Package.json» должен выглядеть примерно так:

{
   "name": "dokku-demo-application",
   "version": "1.0.0",
   "engines": {
       "node": ">=0.10.*",
       "npm": ">=1.3"
   },
   "dependencies": {
       "express": "~3.0"
   }
}


Содержание файла

package.json

важно, так как по нему dokku будет устанавливать модули для приложения. А

Procfile

должен выглядеть так:

web: node server.js


Инициализируем в папке проекта репозиторий (если его не было), добавляем все файлы и коммитим:

$ git init && git add -A && git commit -m "Initial commit"

Теперь наш проект готов к разворачиванию на сервере.

Регистрация на DigitalOcean

Первым делом регистрируемся на сайте

. Здесь мы купим VPS — виртуальный сервер. После удачной регистрации и входа в свою админку жмем на большую зеленую кнопку «Create» и нам предложат активировать свой аккаунт, внеся $5 долларов. Ниже на странице есть место для указания счастливого купона на $10, вводите

OMGSSD10

или поищите свежий купон. Так как моя банковская карточка не подошла хостеру, я оплатил пейпалом и у меня на счету оказалось $15. Этого должно хватить на 3 месяца.

Заливаем и запускаем проект


Деплоить приложение будем с помощью команды

git push

. И для этого добавим ссылку на удаленный репозиторий нашего дроплета:

Создаем SSH-ключ

Доступ к удаленным серверам обычно делается по ssh. Это такая технология защищенных соединений. Зайти в нашу будущую VPS можно по паролю или по SSH-ключу. Я настоятельно рекомендую второй вариант, не придется все время вводить пароль. Также, SSH-ключ все равно нужно будет указать при создании нашего нового «дроплета» (словом «droplet» DigitalOcean называет виртуальный сервер).

Выполните следующие две команды в терминале, чтобы сгенерировать ssh-ключ:

Создал дроплет, но по IP адресу нет страницы настройки dokku


Значит, у DigitalOcean что-то пошло не так. Надо зайти на страницу управления дроплетом, и на вкладке Destroy/Rebuild:

Тогда, после перестройки, страница настройки dokku должна быть видна по IP-адресу. Если нет — попросите помощи у DigitalOcean.

3 бесплатный хостинг node.js

Далее, давайте проверим бесплатные опции хостинга node.js. Для начала я приведу подробную информацию о Heroku.

Heroku-карты

Впервые он был запущен в 2007 году и имеет штаб-квартиру в Сан-Франциско, штат Калифорния, США. Поддерживаются следующие языки: Java, Scala, Clojure, Python, PHP, Node.js и GO. Heroku имеет несколько продуктов.

Heroku: плюсы

Heroku: Минусы

Красная Шапка

Первоначально он был запущен в 2022 году и является открытым исходным кодом. Он имеет несколько моделей на основе архитектуры.

RedHat OpenShift: плюсы

RedHat OpenShift: Минусы

открытый узел

Это открытый исходный код и обеспечивает поддержку сообщества.

С Песочницей вы можете иметь несколько развертываний.

Openode: плюсы

Openode: Минусы

Не могу получить доступ к дроплету ни по паролю, ни по SSH

  1. Наверное, вы как-то пропустили шаг настройки dokku, или dokky создался не правильно.
  2. Проверьте, если доступна страница настройки dokku по IP адресу дроплета, то вернитесь к шагу 4 создания VPS.
  3. Если страницы настроек нет, тогда попробуйте сбросить пароль и повторить попытку доступа через терминал. Если даже в этом случае доступ по паролю будет неудачным, тогда переустановите дроплет, как описано в предыдущем пункте.

Создаем дроплет


Теперь настало время купить виртуальный сервер. Нажимаем на большую зеленую кнопку «Create» и вводим следующую информацию:

Жмем «Create Droplet» и ждем 2-10 минут. В результате мы увидим панель управления дроплетом, и там будет виден его IP-адрес.

Выбранный образ помимо операционной системы Ubuntu 14.04 содержит самое главное: Dokku. Это готовая система для хостинга node.js-проектов, очень похожая на Heroku. Использование образа с предустановленным Dokku избавит нас от необходимости устанавливать и настраивать систему для хостинга Node.js.

Настройка Дроплета и DNS


Теперь нужно настроить новосозданный сервер. Зайдите в браузере по IP-адресу дроплета и вы увидете экран настройки. Если такой страницы нет, смотрите что делать в конце статьи.

Droplet setup page

Здесь вы должны убедится, что поле «Public Key» заполнено. Если нет — укажите свой public key из недавно сгенерированного ключа. Однако практика показала, что лучше вообще удалить такой дроплет и создать новый, правильно указав SSH-ключ.

Если у вас нет доменного имени, то оставьте все, как есть, жмите «Finish setup» и переходите к следующему пункту. Ваше приложение будет доступно примерно так: «19.19.197.19:46667», по IP адресу и номеру порта. Если вас это не устраивает — срочно купите доменное имя. В любом случае, настроить доменное имя можно будет позже, о чем я расскажу в конце.

Я не знаю пароля от дроплета


Если у вас нет пароля, зайдите на страницу управления дроплетом, вкладка «Access» и сделайте reset пароля. Тогда на почту придет новый пароль.

Настраиваем использование SSH

Давайте попробуем соединиться с нашим новым сервером. Чтобы получить доступ дроплету через SSH-ключ, нужно еще одно маленькое действие. Откройте терминал и передите в папку с ssh-ключами:

$ cd ~/.ssh/

Если у вас еще нет файла «config» в этой папке (проверка —

$ ls

), то его необходимо создать:

$ touch config


Теперь открываем config(

$ open config

) и записываем в него следующие данные:

Host YOUR.DROPLET.IP.ADDRESS
    IdentityFile ~/.ssh/id_rsa_digitalocean_dropletname

Где в первой строчке IP адрес или доменное имя, на второй строчке — имя созданного ssh-ключа для этого дроплета.

Читайте также:  Раскрытие секретов 3o2: все, что вам нужно знать о его символике и использовании

Проверяем соединение:

$ ssh root@YOUR.DROPLET.IP.ADDRESS

Где после «@» надо указать или доменное имя, или IP.

Если вы пропустили создание SSH-ключа, войти можно по паролю, который пришел к вам на почту. Для этого выполните ту же команду:

$ ssh root@YOUR.DROPLET.IP.ADDRESS

и на вопрос о продолжении соединения напишите «yes». После этого введите пароль.

Если вы увидели приветственный экран, значит все хорошо. Закроем соединение командой exit и перейдем к следующему пункту.

Проект не запускается по указанной ссылке

Если настройки dokku верны, такая ситуация возможна, если приложение запустилось с ошибкой и было закрыто. Зайтиде по ssh в дроплет и проверьте логи:

$ dokku logs <app_name>

Возможно, ошибка будет понятна. Или же вы забыли запустить ваш проект после push’а:

$ cd /home/dokku/YOUR-APP-NAME
$ dokku run YOUR-APP-NAME node app.js

Я пропустил создание SSH, и теперь хочу сделать авторизацию по SSH-ключу

Я пытался создать новый дроплет без указания ssh-ключа на странице создания дроплета, но на странице настроек dokku все равно просят ввести паблик-ключ. После этого я принял некоторые действия, но все равно зайти по ssh-ключу у меня не вышло, только пароль.

Как добавить доменное имя к уже существующему дроплету


Это делается совсем не трудно, всего в несколько шагов. В настройках DNS вашего доменного имени указать настройки:

A2 hosting

A2 Hosting, that’s right. You heard it right. A2 is not just famous for WordPress, but they offer Node.js solution too.

A2 is a cost-effective solution. You can get it started from as low as $3.92 per month.

Every plan comes with unlimited storage.

However, scaling depends on the package you choose. If you are doing rapid development and deployment, then you may want to try out other providers.

Give A2 Hosting a try as they come with an anytime money-back guarantee.

A2 hosting особенность:

Скорость — С точки зрения скорости A2 Hosting работает быстро благодаря своей инфраструктуре, а также дополнительному преимуществу хостинга Node.js.

A2 Hosting Тест скорости сервера — A . Кредит: Битчатча

CloudFlare CDN вместе с минимальным 12-ядерным сервером и минимальным 64 ГБ ОЗУ увеличивает скорость.

Надежность и время работы — A2 Hosting гарантирует 99.9% безотказной работы. Он имеет четырехкратную избыточную сеть со сбалансированным количеством учетных записей на каждом сервере. Это помогает сбалансировать нагрузку на каждый сервер, делая их службы более надежными.

A2 Hosting имеет избыточную мощность наряду с опытно настроенными серверами. Все это в сочетании с круглосуточным мониторингом сети.

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

Имеет поддержку нескольких версий PHP. Поддерживает 5 баз данных или неограниченное количество баз данных в зависимости от выбранного плана.

Поддерживает базу данных MySQL 5.6, PostgreSQL 9.6, SSH, Rsync, Node.js, Apache 2.4, Git, CVS, Subversion и Mercurial. A2 Hosting дополнительно также поддерживает Python 2.6, 2.7, 3,2, Ruby 1.8, PERL 5.10, FTP и SSL.

Панель управления — cPanel входит в A2 Hosting это удобно. Это обеспечивает многоязычную поддержку. Softaculous поддерживает установку нескольких приложений одним нажатием. CPanel поддерживает быструю настройку приложений Google вместе с файловым менеджером на основе веб-интерфейса.a2hosting-CPANEL

Используя cPanel, вы можете получить доступ к множеству функций электронной коммерции. Вы можете в один клик установить Magento, OpenCart, PrestaShop, AbanteCart. Другие популярные настройки в один клик включают WordPress, Joomla, Drupal, CubeCart, B2evolution, phpBB и SMF.

Аналитика — A2 Hosting имеет хорошую коллекцию для электронной коммерции и аналитики. Благодаря этому вы можете получить доступ к необработанным файлам журнала, статистике посетителей Webalizer и AWStats. Вы можете анализировать статистику сайта и статистику посетителей.

В рамках продвижения сайта вы получаете бесплатные рекламные кредиты Bing и Yahoo, свяжитесь с Email Marketing Trial, и веб-сайт будет включен в список Google в течение 24 часов.

A2 hosting поддержка клиентов:

A2 Hosting можно связаться по телефону, электронной почте, билетам и в чате. Существует отдельная поддержка для ответа на запросы о существующих сервисах. Помимо этого, есть поддержка продаж и выставления счетов. Это гарантирует круглосуточную поддержку клиентов.

Их веб-сайт имеет специальную базу знаний, которая охватывает различные темы. Темы включают руководства по настройке, руководство по cPanel и ряд других тем.

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

Azure

A list won’t complete without including Microsoft Azure. One of the market leaders in the cloud computing platform got a data center in 54 regions.

Similar to the other two leading GCP and AWS, you have multiple options.

  • Virtual Machines – Provision Linux or Windows server to do your environment setup.
  • App Service – Fully managed a platform where you deploy your code, and the rest will be taken care of by Azure.
  • Functions – serverless computing to scale and meet the demands.

You pay for what you use.

Best node.js hosting

Без лишних слов давайте углубимся в подробный обзор каждого хостинга Node.js.

В этом посте я расскажу вам о самых подходящих провайдерах Node.js.

Лучшее значение Node.js Хосты Всего (5) | Бесплатный Node.js Host (3)

Позвольте мне начать с предоставления 5 лучших хостингов Node.js.

Digitalocean

DigitalOcean lately has introduced the App Platform to build, deploy, and manage application or API. It supports Node.js, Go, PHP, Django, Gatsy, Ruby on Rails, and more.

DO take care of underline infrastructure, which means you need to focus on your core business – web application or API.

You can connect the GitHub repo to deploy the code and also configure to auto-deploy on push updates. The following are some of the other features.

You can get it started with the basic plan at $5/mo and scale as application demand grow. DigitalOcean gives $100 credit to you to give a try.

Evennode

EvenNode specializes in Node.js hosting since 2022. Upload your Node.js application and it just runs. It’s as simple as that. You don’t need to manage any servers or VPS.

EvenNode’s dashboard lets you select Node.js version, scale to multiple regions, or see real-time metrics from your application.

Читайте также:  Дешевый хостинг для WordPress: независимый обзор

Some of the features include the following.

A great choice for developers who don’t want to manage their own servers. EvenNode provides a 30-day money-back guarantee with no questions asked.

Fastcomet

Leverage FastCloud by Fastcomet to host your Nodejs applications. Servers are optimized for optimal performance, security and come with inbuilt monitoring.

Google cloud

Experience Google’s low latency network and host your application where Google products are.

There are four available options for you.

Heroku

Heroku is my personal favorite when it comes to app hosting. It’s developer-friendly.

I have personally used it for hosting Ruby on Rails apps. That means it supports a wide range of environments and languages, including Node.js.

Heroku is part of the Salesforce organization. They offer a FREE plan, which includes 512MB memory, one web, or worker to get you started.

Highlights

Heroku is an excellent choice for beginners and experienced developers, thanks to its fantastic documentation.

Already using Heroku and looking for an alternative? Continue reading the following…

Hostpresto

UK-based hosting platform, a good choice if your audience is in Europe. HostPresto offers easy deployment, free backup, SSH access, and all other standard features.

You get an option to choose the Nodejs version, database choice, SSH access, etc. Their servers are Nodejs optimized for optimal performance.

Kamatera

Starting from $4 per month, you get 1GB RAM, 20GB SDD storage, and 5TB network traffic. Kamatera gives you an option to choose the Nodejs version and data center location.

A great option if you are looking to host your Nodejs in the Middle East, China, Europe, or North America.

Nodechef

A specialized in hosting modern web and mobile applications. By the name, you can say it supports only Node.js, but that’s not the case.

NodeChef supports multiple application languages – Python, Go, PHP, Java, etc.

NodeChef hosts your application inside a docker container and has an option to choose between SQL and NoSQL database.

Some of the incomplete features are:

  • One-click deployment
  • Real-time logs
  • Scalable with one click
  • Automatic SSL provisioning
  • Caching
  • Monitoring metrics
  • Multiple data center locations

You can deploy using GitHub, Bitbucket, GitLab, CLI, or upload through their dashboard. Pricing starts at $9 per month, and billing is hourly.

Platform.sh

A fully managed, automated hosting platform.

Platform.sh let you host node.js applications in a cluster for better availability & performance. The platform is Git-driven, and you can install the necessary components like Redis, MongoDB, Elasticsearch, etc.

Platform.sh is an enterprise-ready, optimized for modern development frameworks. Support is 24/7.

Smarterasp.net особенности:

Speed and Reliability – Smarterasp.net provides considerable speed. It has SSD application server cloud, SSD File storage cloud, CloudFlare CDN.

Это также гарантирует 99.9% безотказной работы.

Бесплатная пробная версия — вы можете попробовать их бесплатные услуги хостинга в течение пробного периода 30 дней. Это также включает в себя бесплатную пробную поддержку, которая 24/7. С помощью пробной версии вы также получаете временное доменное имя.

If you share it, you get an additional credit of 30 days. In total, you can have a free trial of 60 days. Unlike other Node.js hosting platforms, Smarterasp.net allows you to have a long trial period to explore its features and accessibility.

Add-on Support – Smarterasp.net has a list of one-click installation for several apps. Few of these are Acquia Drupal, Umbraco, DasBlog, BlogEngine.net and many more.

Также включены несколько предустановленных компонентов. Это включает в себя — PHPMailer, JMail, ADO.net, CDO, FSO и несколько других.

Безопасность — Smarterasp.net имеет брандмауэр для защиты трафика. Помимо этого, он имеет антивирусную и антиспамовую защиту. Включено автоматическое резервное копирование данных.

Он поддерживает SSAE 16 SOC 2 Тип 2 Соответствие.

Smarterasp.net поддержка клиентов:

Smarterasp.net has a large collection of knowledge base and tutorials on its website. You can reach them over live chat, email, phone, and tickets. There is also a section of the website dedicated to the FAQ.

Их чат очень быстрый и отзывчивый. Вы получите ответ почти мгновенно. Кроме того, представитель службы поддержки предоставил несколько быстрых ссылок с веб-сайта.

Vps/vds с node.js — аренда впс по цене от 55 рублей

На нашем сайте представлено 2 023 виртуальных сервера VPS/VDS с Node.js по цене от 55 рублей. Чтобы арендовать виртуальный сервер, выберите подходящий тариф и купите его на сайте хостинг-провайдера. У нас вы найдете только актуальные предложения от различных компаний, присутствующих на рынке интернет-услуг, среди которых FirstByte, uaVPS, JustHost и другие.

Технология Node.js обеспечивает выполнение JS-кода на стороне сервера, а не клиента. Эта платформа широко применяется для создания современных веб-приложений. В качестве хостинга Node.js можно использовать любой сервер VPS/VDS. При этом задачи администрирования нужно будет решать самостоятельно.

Установка Node.js на VDS/VPS дает возможность разрабатывать любые инструменты на базе JavaScript, включая приложения и веб-серверы. Для создания с помощью этой технологии высокопроизводительных проектов, рекомендуется выбирать виртуальные серверы, размещенные на оборудовании с SSD-накопителями. Также провайдер должен предоставлять возможность гибкой настройки конфигурации.

What’s the best node.js hosting for your needs?

Here’s a quick summary:

Best Node.js hosting in the market

HOSTPRICE FORMPAY BY USAGE?*CLOUD-BASED?
Heroku$0
AWS$0
DigitalOcean$5
A2 Hosting$3.92
Glitch$0N/A-FreeN/A
Google Cloud Platform$0
Microsoft Azure$0
Platform.sh$50
NodeChef$9

By “Pay by usage”, we mean that you pay based on the actual resources that you use, rather than some set amount every month.

To close out this post and help you pick the best Node.js hosting for your specific situation, let’s run through some scenarios:

First, if you’re technically-savvy, the big cloud infrastructure services make a good option, and they usually give you services that help streamline managing your app and eliminate a lot of the more tedious infrastructure requirements.

Of course, you have the big three here:

DigitalOcean and Heroku also offer good options, and Platform.sh offers a PaaS to help you with end-to-end development.

If you’re specifically looking for free Node.js hosting, Glitch is a good option for non-mission critical stuff, and Heroku also offers a limited free plan.

Читайте также:  Как установить Вордпресс на свой сайт — Журнал «Код»

Finally, if you don’t want to go the cloud route, A2 Hosting offers an affordable entry point at ~$4 per month and is one of the few hosts that will let you run Node.js without getting your own VPS or dedicated server. And NodeChef also offers an affordable price point with its Docker container approach on bare metal servers.

Any questions about picking the best hosting for Node.js? Ask away in the comments!

Деплоим приложение


Сервер готов, теперь пришла очередь развернуть тестовое приложение и проверить его работу.

Проблемы и их устранение

Я сам разбирался с настройкой такого хостинга более суток, и набил несколько шишек. И чтобы вы могли съэкономить свое время, привожу здесь несколько возможных проблем и пути их решения.

Хостинг с node js (nodejs). установка и настройка node.js

Если вы используете Node.js как средство серверной разработки для своего сайта или web-приложения, то эта статья для вас, поскольку в ней мы рассмотрим настройку данной программной платформы и правильную организацию структуры папок
для корректного функ­цио­ни­ро­ва­ния вашего проекта.

Рассмотрим структуру папок и файлов. Мы предлагаем реализовать ее примерно следующим образом:

Ваша цель — создать идентичную структуру и разместить файлы в соответствующих схеме директориях. Далее мы наполним их содержимым.

Работа с .htaccess файлом

Чтобы Passenger мог взаимодействовать с Node.js, в файле .htaccess (мы рекомендуем располагать его здесь ./site-name.com/htdocs/www/.htaccess) необходимо прописать следующее:

PassengerAppRoot /home/hostXXXXXXX/site-name.com/nodejs_app/www
PassengerAppType node
PassengerStartupFile app.js
PassengerNodejs /home/hostXXXXXXX/node/bin/node
PassengerRestartDir /home/hostXXXXXXX/site-name.com/nodejs_tmp/www
PassengerFriendlyErrorPages on

Включение лога ошибок

При разработке любого сайта или приложения разработчики допускают ошибки. По умолчанию, они записываются в папку logs, которая находится в корне сайта. Также, убедитесь, что у вас включена данная опция в панели управления. Во вкладке «Домены»→«Прикрепление домена», рядом с надписью «Лог-файлы веб сервера» есть переключатель, который включает/выключает данную опцию. После включения, логи начнут писаться в течение 5 минут (при обычной загруженности сервера).

Перезапуск приложения

Файлы restart.txt и always_restart.txt необходимы для того, чтобы при внесении вами каких-либо изменений в рабочие файлы (к примеру, app.js) Passenger, применяя правила записанные в .htaccess, мог перехватывать их и применять в работе сайта. Отличие заключается в том, что restart.txt сработает только один раз, а always_restart.txt перезапускает процесы веб-сервера при каждом поступившем запросе. Рекомендуется использовать always_restart.txt только при разработке. После того, как разработка проекта будет завершена, не забудьте удалить этот файл, чтобы избежать задержек при отображении страницы посетителям.

Если Вы уверены в том, что ваш код работает без багов, но всё-равно видите ошибки на странице, можно принудительно завершить все процессы с помощью следующей команды через SSH-соединение:

killall -2 "Passenger NodeApp"

После чего перезагрузить страницу.

Код для app.js

И напоследок, осталось добавить скрипт для запуска Node в app.js. Ниже представлен код с официального сайта Node.js (в дальнейшем вы можете изменять его по своему усмотрению, сейчас
мы лишь хотим убедиться, что всё работает):

const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
    res.statusCode = 200;
    res.setHeader('Content-Type', 'text/plain');
    res.end('Hello Worldn');
});

server.listen(port, hostname, () => {
    console.log(`Server running at http://${hostname}:${port}/`);
});

Итак, все настройки произведены. Откройте сайт в новой вкладке. Если выводится Hello world, то всё работает, как и ожидалось. В противном случае, ещё раз пройдите по вышеприведённому алгоритму действий. Возможно, вы что то упустили.

Пример подключения модуля

Чтобы установить какой-либо модуль в директорию с файлами приложения, при этом используя установленную версию Node.js, необходимо для начала прописать путь до исполняемого файла node в .bash_profile (он лежит в корне вашего аккаунта). После этого вы сможете обращаться к нему из любой директории вашего проекта.

Итак, откройте .bash_profile и допишите следующую строку:

PATH=$HOME/.local/bin:$HOME/bin:$HOME/site-name.com/node/bin:$PATH

Для примера, рассмотрим подключение модуля mysql для работы с базой данных (предварительно, создайте таблицу под любым названием и поместите туда несколько записей). Чтобы установить даный модуль, зайдите через SSH-соединение в директорию «nodejs_app/www» и введите в терминале команду:

npm init --force

Таким обазом создастся файл package.json с данными о вашем приложении. После этого наберите команду:

npm install mysql --save-dev

Вы увидите, что автоматически создастся новая директория «node_modules» и подгрузятся необходимые нам для работы файлы.

Также, рекомендуем загрузить 2 часто используемых модуля — fs (для работы с файлами) и util (для красивого вывода объектов в консоль)

npm install fs util --save-dev

Далее, открываем файл нашего приложения app.js и добавляем следующий код:

const fs = require('fs');
const util = require('util');
var log_file = fs.createWriteStream(__dirname   '/debug.log', {flags : 'w'});
var log_stdout = process.stdout;

console.log = function(d) {
  log_file.write(util.format(d)   'n');
  log_stdout.write(util.format(d)   'n');
};

const mysql = require('mysql');
const connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'hostXXXXXXX',
  password : 'your_password',
  database : 'your_database_name'
});

connection.connect();
connection.query('SELECT * FROM my_table', function (error, results, fields) {
  if (error) throw error;
  results.forEach(function(obj) {
      console.log( util.inspect(obj) );
  });
});
connection.end();

В коде выше мы, с помощью модуля fs, создаём новый файл debug.log, в который будем помещать вывод функции console.log

Далее, переопределяем саму функцию console.log, задействуя поток на запись.

Теперь, при помощи модуля mysql, подключаемся к своей БД и выбираем все записи из нужной нам таблицы, прописывая их в созданный нами файл.

Проверим, всё ли сработало: перезагрузите страницу своего сайта и откройте файл debug.log — вы должны увидеть вывод всех записей из таблицы.

Запуск приложений через crontab

Для запуска приложений Node.js через crontab создайте shell скрипт и определите в нём переменную окружения PATH исходя из ваших требований. Например, для запуска приложения с помощью утилиты pm2 (process manager), используйте такой код в shell скрипте:

#!/usr/bin/env sh
env PATH=$PATH:/home/hostXXXXXXX/node-vXX.ZZ.YY/bin:/home/hostXXXXXXX/node-vXX.ZZ.YY/lib/node_modules/pm2/bin pm2 start /home/hostXXXXXXX/example.js --name some-socket ...

Удачной работы! Если возникнут вопросы — напишите нам, пожалуйста, тикет из панели управления хостингом, раздел «Помощь и поддержка».

Поддержка клиентов bisend:

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

Я попробовал их вариант чата, и это очень быстро. Они гарантируют круглосуточную поддержку, и это правда. Представитель службы поддержки быстро предоставил некоторые детали для запросов.BISEND ~ 1

Conclusion

I hope that you find the ideal platform your Node.js hosting needs. Most of them provide a trial or free credit, so try them. Once your code is live, don’t forget to scan your Node.js application for a security vulnerability.

Оцените статью
Хостинги