Как запустить node js на хостинге reg ru

от admin

Хостинг Node.js https сервера с авто-обновляемым SSL в облаке и как я настроил цикл разработки (+ git, react)

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

Не буду рассказывать как я изучал javascript, node.js, react, html, css и т.п., перейдём к тому, к чему я пришел на данный момент, чем хотел бы с вами поделится и, конечно, послушать конструктивную критику специалистов.

Как и многие я тренировался на собственном ПК на localhost:3000, создавал front/back-end’ы, верстал, работал с api и т.д., но меня всегда тревожила мысль а том, как же всё это потом перенести на хостинг? Будет ли оно работать? Нужно ли будет переписывать из-за этого код? И самое главное, нельзя ли всё настроить так, чтобы я мог работать над приложением с любого ПК и легко переносить всё на хостинг на production? Об этом я и расскажу.

Выбор хостинга

На своё хобби я готов был тратить 10$ в месяц, поэтому выбирал тот хостинг, с которым планировал и остаться в будущем. Как я и говорил, до этого у меня был 0 опыт, в том числе и с хостингом сайтов. Я попробовал и отказался от следующих:

Jelastic: красивый и удобный интерфейс, вроде всё интуитивно, масштабируемо и понятно. Тем не менее столкнулся с трудностями при настройке (nginx почему-то из vps не хотел работать, только их отдельным модулем) и подключении SSL(и автоматическом обновлении) к русскоязычном домену стандартными средствами (обещали баг пофиксить, но я не хочу ждать)

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

AWS и Google облака: попробовал, всё вроде хорошо, но вспомнил про наши «замечательные» законы и требование размешать данные пользователей на сервера в РФ. У этих ребят, к сожалению, серверов в РФ не оказалось. Не юрист, но от греха решил поискать облака с серверами в РФ. Если же ваше приложение маловероятно будет иметь проблемы с законом, то хороший выбор.

Облака с серверами в РФ хоть и были, но хотелось всё же что-то, что избавит меня от необходимости погружаться в администрирование PostgreSQL. Порыв немного наткнулся на не так давно ставшие доступными Яндекс.Облака, попробовал, вроде всё просто и удобно, поэтому остановился пока на них. Стоит отметить, что хостинг PostgreSQL у них сразу идёт с 1core и 4гб RAM, что по стоимости около 2к рублей в месяц, поэтому на время разработки и невысокой нагрузки я планирую запустить PostgreSQL на VPS за

300р, а с повышением нагрузки перенести базу и пусть Яндекс занимается администрированием и обновлением.

Настройка Яндекс.Облака

Virtual Private Cloud

1) Создаём каталог под свой сайт:

image

2) Создаём Virtual Private Cloud:

Главное что он даёт для меня на текущем этапе — это IP для доступа к созданному ресурсу из вне. С подсетями, зонами, изоляцией и отказоустойчивостью ознакомился поверхностно, при необходимости наверстаю.

3) Создаём подсеть и присваиваем ей внутренний IP (как я понял, это примерно как локальная сеть)

image

4) Переходим на вкладку IP и резервируем себе статический IP.

По нему мы будем подключаться из дома и других мест. Вероятно можно и с динамическим работать, но я не разбирался в каких случаях он меняется.

image

Compute Cloud

Тут у нас будут происходить вычисления 🙂 То есть мы создадим виртуальную машину с Linux (я выбрал ubuntu 18.04), установим node.js приложения и postgreSQL.

image

Жмём создать ВМ, выкручиваем все настройки на минимум, так как при разработке нагрузки не будет (когда наше приложение выйдет в свет, тогда и подкрутим побольше, ну и будем мониторить по графикам).

Проблемный момент, с которым я столкнулся на этом этапе, это SSH:

image

Что это и зачем понятия не имел, поэтому пошел изучать. Оказалось — это просто метод доступа, но не по паролю, а по сгенерированному SSH ключу. Чтобы собственно его сгенерировать, скачиваем и устанавливаем Putty как нам советуют.

Запускаем C:\Program Files\PuTTY\puttygen.exe

image

Нажимаем кнопку Generate и водим мышкой, чтобы придать случайности сгенерированному ключа (как я понял). Далее копируем появившуюся строку начинающуюся с ssh-rsa куда-нибудь в текстовый файл и жмём Save private key, Save public key. Скопированный в текстовый файл ключ вставляем в поле SSH ключ открытой страницы Яндекса. Логин указываем root, иначе у вас не будет доступа при работе с графической файловой системой приложения по которому будете подключаться к облаку из дома/работы (возможно и есть способ, но я не разбирался).
Как заметил andreymal, лучше не использовать root, чтобы китайские боты не подобрали пароль к вашему облаку, но так как в яндекс.облаке доступ только по SSH, то жить вроде можно.

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

Подключаемся к облаку с ПК и выбираем бесплатный SSH клиент

Стандартный Putty позволяет работать только командной строкой, а так как мне пользователю windows это непривычно, то я начал искать клиент с псевдо-проводником. Сначала я попробовал Mobaxterm, но он после какого-то времени простоя отключается, проводник вообще зависает, поэтому сейчас работаю с bitvise ssh и пока проблем как у Mobaxterm не наблюдаю.

Настройка bitvise ssh

image

Тут в поле Server>Host указываем наш внешний IP облака. Порт 22. Нажимаем client key manager>import указываем в нём сгенерированный Putty ранее private ключ. Может ещё потребоваться ключевая фраза, выберите что-нибудь что не забудете. Закрываем это окошко и в поле authentication указываем username: root, method publick key, client key — выбираем импортированный ранее. Жмём login и если мы всё сделали правильно, то подключимся к облаку:

image

Устанавливаем Node.js

Тут я рекомендую пользоваться инструкциями digitalocean.com, они очень подробны и многие есть на русском. Обычно я так и гуглю «digitalocean ubuntu 18.04 node.js» или что вы там захотите установить или настроить.

Как установить Node.js можно почитать тут.

Если коротко, то заходим на nodesource (тут последние версии node.js можно установить), листаем сюда:

image

Копируем и по-очереди запускаем команды:

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

Нам покажет версию node.js

Нам покажет версию менеджера пакетов для node.js.

Далее идём в папку /opt/mysuperapp (my_super_app_name — эту папку вы должны создать). Каталог opt был выбран в качестве места расположения приложения после долгих гуглений «где уместно положить файлы node.js приложения в ubuntu».

Наконец-таки создаём файл server.js, который будет входной точкой приложения и вставляем туда код простого сервера на node.js:

Порт 80 — это для http запросов, 443 — для https. Пока у нас сервер на http.

Сохраняем всё и запускаем командной:

В консоли должно появиться строка ‘Server running at localhost:80/’

Теперь можно открыть браузер, ввести внешний IP (тот что в облаке яндекса у вашей ВМ ubuntu) и мы увидим «Hello World!»

Делаем всё удобно или цикл разработки с помощью git

Всё вроде работает, но мы же не будем работать всё время подключаясь к облаку. К тому же вдруг мы будем в будущем работать не одни.

Github

Github — это место, где будет лежать код нашего приложения. Если коротко, принцип работы для одного человека следующий:

  • На домашнем ПК разрабатываем наше приложение.
  • Сохраняем и в один клик выгружаем код на Github.
  • На хостинге или на другом ПК скачиваем наше приложение с github, перезагружаем сервер (если это хостинг) и новая версия нашего веб-приложения доступна во всемирной паутине.

Собственно регистрируемся на Github и создаём private репозиторий для нашего приложения (он будет доступен только нам):

image

Копируем строку github.com/ReTWi/mysuperapp.git для скачивания приложения.

image

  1. Возвращаемся в командную строку bitvise, останавливаем приложение нажав ctrl+c (если оно ещё работает).
  2. Переходим в каталог /opt и удаляем созданную нами папку с приложением

Проверяем всё ли хорошо установилось:

Должна показаться версия git.

Заполняем данные git (так и не понял зачем, но видимо могут быть какие-то занудные предупреждения).

Наконец-таки загружаем наше приложение на хостинг командой:
(тут должна быть ссылка на ваше приложение )

В каталоге /opt появится новый mysuperapp, где будут находится файлы нашего приложения загруженные из github.

Теперь пора повторить тоже самое для ПК и замкнуть цепочку ПК(разные) —> Github —> Хостинг

Visual studio code

Для начала выберем редактор исходного кода, где будем работать. Я выбрал Visual studio code, так он прост, удобен, в нём много плагинов и можно настроить синхронизацию настроек если вы работаете с нескольких устройств. Собственно скачиваем, устанавливаем, запускаем, выбираем общую папку приложений, так как git clone создаст нам свою.

Плагины я использую следующие:

image

Устанавливаем git для ПК.
Открываем консоль в VScode с помощью ctrl+shift+` или terminal>new terminal

В консоли windows плохо с русскими символами и чтобы не было крякозяблов нужно открыть file>preferences>settings, ввести в поле terminal.integrated.shellArgs.windows, нажать

image

И добавить строку «terminal.integrated.shellArgs.windows»: [«-NoExit», «/c», «chcp 65001»],

image

Повторяем команду для загрузки файлов с github:

В VScode нажимаем File>Open Folder и открываем папку нашего приложения.

Создаём файл server.js с тем же кодом простого сервера:

Устанавливаем nodemon для автоматической перезагрузки сервера при изменениях в коде:

i — сокращение от install
g — глобальная установка (чтобы было доступно в консоли), а не только для нашего приложения.

Открываем в браузере localhost:80/ или просто localhost:80 и видим Hello World.

Теперь настало время проверить нашу цепочку ПК>Github>Hosting.

Скачиваем Github desktop для большего удобства, подключаем свой github аккаунт, затем нажимаем файл add local repository и указываем каталог нашего приложения.

В приложении мы видим изменения которые мы сделали по сравнению с загруженной с Github версией (мы добавили server.js):

image

Жмём «commit to master»>«push origin», таким образом загружая файлы с ПК на Github.

image

Заходим в браузере на наш github аккаунт и видим загруженный файл server.js:

image

Потренируемся ещё немного, в VScode заменим строку «res.end(‘Hello World !\n’);» на «res.end(‘OmNomNom’);». Увидим, что сервер сам перезагрузился:

image

Проверим в браузере и увидим там сделанные нами изменения «OmNomNom».

Desktop github тоже покажет нам что мы поменяли строку:

image

Опять жмём «commit to master»>«push origin», чтобы отправить файлы на github.

Переключаемся на командную строку хостинга.

Останавливаем наше приложение, если оно ещё запущено (ctrl+c).

Скачиваем наше обновлённое приложение командами:

Первая сохранит наши данные, чтобы постоянно не вводить логин и пароль. В дальнейшем нам достаточно будет git pull.

Установим pm2 — нечто похожее на nodemon, только для хостинга:

Запустим приложение с помощью pm2, которые при следующем git pull на хостинге сам перезагрузит наш сервер:

Откроем браузер по нашему внешнему IP облака и увидим наше «OmNomNom».

Таким образом мы замкнули цепочку работы с приложением и быстрым его развёртыванием на хостинге.

Создаём временные SSL сертификаты для HTTPS на localhost и хостинга

image

В поле domains, ip… вписываем сначала localhost, нажимаем generate и скачиваем 2 файла по кнопке:

image

Сохраняем их у нас в проекте в папке ssl/localhost.

Повторяем процедуру для внешнего IP Облака и сохраняем в ssl/myapp.

Запускаем более сложный https сервер node.js

image

  • client — тут будет лежать наш front-end. У меня react.
  • logs — сюда будут падать логи на хостинге
  • node_modules — модули node.js
  • private — ваши приватные файлы, я там храню SSH доступы к облаку
  • server — ваш backend
  • ssl — ssl сертификаты для работы https на localhost и на хостинге
  • .babelrc — настройки сборки react приложения webpack’om (позволяет использовать более современный JS при разработке frontend)
  • .gitignore — файлы, которые не будут перемещаться на github (git их как бы не видит)
  • client.js — точка входа для генерации react сборки
  • package.json — используемые вами node_modeles и различные снипеты команд.
  • package-lock.json — изменения в модулях (насколько я понял, по файлу будет проверяться одинаковые ли у вас установлены модули на хостинге и на ПК).
  • pm2-watch.json — настройки запуска pm2 для хостинга
  • README.md — обложка для github
  • server.js — точка запуска нашего backend сервера Node.js
  • webpack.config.js — конфигурация сборки react

.gitignore

Тут мы указываем те файлы/папки, которые мы не хотим выгружать на github. Они будут только на данном устройстве и git не будет отслеживать/показывать их изменения. Открываем и вставляем:

Так как github не выгружает пустые папки, то можно внутрь что-нибудь положить, к примеру пустой файл .gitkeep. Сохраняем файл и закрываем.

package.json

Открываем и вставляем следующее (после // добавил комментарии)

Остановлюсь на двух основных фрэймворках/библиотеках выбранных для приложения:
Fastify был выбран в качестве альтернативы express.js, так как в первом уже есть экспериментальная поддержка htpp2, он активно развивается и мне кажется у него больше будущего, нежели у express.js, который стал очень неповоротлив и кое-как развивается. С другой стороны express.js уже долгое время в работе и по нему вам легче будет найти информацию.

React был выбран так как мне с ним было проще работать, понять и пробовать всё своими руками. Vue — показался уже чем-то со своими правилами, направлением. Хотя во Vue может и меньше придётся писать что-то своими руками, но так как приоритет сделан на обучении и для человека ранее не программировавшего react пошел как-то легче.

Сохраняем файл package.json и устанавливаем все модули указанные в dependencies командой:

У нас появится папка node_modules, в которой будут все модули для нашего приложения.

client — пока пустая папка
logs — внутри лежит файл .gitkeep, чтобы папка перекочевала на хостинг и логи успешно туда падали. При разработке мы всё будем выводить в консоль.

public

Тут статические файлы нашего сайта будут лежать, изображения там, фавиконки и т.д.
Отдельно остановимся на двух файлах:
index.html:

Читать:
Nullsoft install system что это

— тут у нас подгружается react-фронтэнд и рендерится в тег по его id.

isProd.js содержит единственную строку «module.exports = false»
Так как он находится в исключениях .gitignore, то не переносится. Соответственно на ПК мы устанавливаем его в false, а на хостинге в true. Затем используем этот файл, чтобы понять в какой мы сейчас среде (разработка/продакшн). Мне показалось наиболее удобным, к тому же можно частично в коде поменять при разработке и проверить работу модулей в продакшне.

ssl — там лежат сохранённые ранее сертификаты в папках localhost и myapp

.babelrc

Настройки для создания нашего react_bundle с поддержкой браузеров используемых более >0.25% пользователей.

client.js

Рендерит наш фронтэнд в div с тегом cookies.

pm2-watch.json — позволяет на хостинге командой «npm run server» запустить сервер с отслеживанием изменений в коде и автоматической перезагрузкой.

webpack.config.js

Сборщик реакт приложения:

Если коротко, то он открывает файл client.js и все что у него внутри, собирая react_bundle и помещая его в папку public, откуда потом через открытый index.html он будет загружен.

server.js

Папка server

Тут лежит на бэкэнд и все пути.
logger.js — в зависимости от среды isProd логирует или в консоль или в errors.log

server/api/
open.js — сюда добавляем наши пути.

После настройки и проверки всего на Localhost, просто выгружаем всё на github, а оттуда git pull на хостинг. Всё что на хостинге нужно будет сделать, это установить модули node.js командой «npm i» и создать файл isProd.js

Автоматически обновляемый SSL

Когда вы купите себе домен и привяжете его к IP облака, пример инструкции для REG.RU, можно установить на сервере автоматически обновляемый бесплатный SSL для работы сайта по https.

Наш сервер работает без nginx. Возможно он понадобится нам в будущем как балансировщик нагрузки или более быстрый HTTP-сервер для раздачи статических файлов, но пока необходимости я в нём не вижу. Балансировка нагрузки пока нам не требуется, а касательно скорости раздачи статики сравнений я не нашел.

Перед установкой в папке ssl создадим папку .well-known, а в ней acme-challenge. Получится /opt/myapp/ssl/.well-known/acme-challenge

Для установке на сервере с node.js без nginx автоматически обновляемого SSL переходим по ссылке. По очереди выполняем команды в консоли хостинга:

Выбираем второй способ проверки, который разместит в папке /opt/myapp/ssl/.well-known/acme-challenge определённый файл, а после подтверждения владельца сервера его удалит.

Указываем по запросу наш домен, к примеру: «example.com» и путь к ssl папке нашего приложения (сервер настроен так, что отдаст созданный ботом файл) «/opt/myapp/ssl».

Бот сам настроит cron-задачу для обновления сертификата до срока его истечения в течение 90-дней.

Не думал, что займёт столько времени всё написать, к 4 часам ночи уже мог что-то упустить :/

Интересно мнение хабравчан и специалистов, кто осилил это полотно или прочитал какие-то отдельные моменты. Как у вас устроен цикл разработки? Есть ли какие-то моменты в которых я ошибаюсь или поступаю не лучшим образом?

Как запустить node js на хостинге reg ru

Library for reg.ru API(https://www.reg.ru/support/help/api2)

Domains for registration

‘.ru.net’, ‘.com.ru’, ‘.exnet.su’

‘.москва’, ‘.moscow’, ‘.дети’, ‘.tatar’

‘.com’, ‘.net’, ‘.org’, ‘.biz’, ‘.name’, ‘.info’, ‘.mobi’, ‘.uk’, ‘.cc’, ‘.tv’, ‘.ws’, ‘.bz’, ‘.me’, ‘.us’, ‘.pro’, ‘.lv’, ‘.ro’, ‘.site’, ‘.rest’,’.academy’, ‘.accountant’, ‘.accountants’, ‘.actor’, ‘.adult’, ‘.aero’, ‘.agency’, ‘.airforce’, ‘.apartments’, ‘.associates’, ‘.attorney’, ‘.auction’, ‘.audio’, ‘.auto’, ‘.band’, ‘.bar’, ‘.bargains’, ‘.beer’, ‘.best’, ‘.bet’, ‘.bid’, ‘.bike’, ‘.bingo’, ‘.black’, ‘.blackfriday’, ‘.blog’, ‘.blue’,’.boutique’, ‘.broker’, ‘.build’, ‘.builders’, ‘.business’, ‘.buzz’, ‘.bzh’, ‘.cab’, ‘.cafe’, ‘.cam’, ‘.camera’, ‘.camp’, ‘.capital’, ‘.car’, ‘.cards’, ‘.care’, ‘.career’, ‘.careers’, ‘.cars’, ‘.casa’, ‘.cash’, ‘.casino’, ‘.cat’, ‘.catering’,’.center’, ‘.chat’, ‘.cheap’, ‘.christmas’, ‘.church’, ‘.city’, ‘.claims’, ‘.cleaning’, ‘.click’, ‘.clinic’,’.clothing’, ‘.cloud’, ‘.club’, ‘.coach’, ‘.codes’, ‘.coffee’, ‘.college’, ‘.community’, ‘.company’, ‘.computer’,’.condos’, ‘.construction’, ‘.consulting’, ‘.contractors’, ‘.cooking’, ‘.cool’, ‘.country’, ‘.coupons’, ‘.courses’,’.credit’, ‘.creditcard’, ‘.cricket’, ‘.cruises’, ‘.dance’, ‘.date’, ‘.dating’, ‘.deals’, ‘.degree’, ‘.delivery’, ‘.democrat’,’.dental’, ‘.dentist’, ‘.desi’, ‘.design’, ‘.diamonds’, ‘.diet’, ‘.digital’, ‘.direct’, ‘.directory’, ‘.discount’, ‘.dog’, ‘.domains’, ‘.download’,’.earth’, ‘.education’, ‘.email’, ‘.energy’, ‘.engineer’, ‘.engineering’, ‘.enterprises’, ‘.equipment’, ‘.estate’, ‘.eus’, ‘.events’, ‘.exchange’,’.exnet.su’, ‘.expert’, ‘.exposed’, ‘.express’, ‘.fail’, ‘.faith’, ‘.family’, ‘.fans’, ‘.farm’, ‘.fashion’, ‘.feedback’, ‘.film’, ‘.finance’, ‘.financial’, ‘.fish’, ‘.fishing’, ‘.fit’, ‘.fitness’, ‘.flights’, ‘.florist’, ‘.flowers’, ‘.fm’, ‘.football’, ‘.forex’, ‘.forsale’,’.foundation’, ‘.frl’, ‘.fund’, ‘.furniture’, ‘.futbol’, ‘.fyi’, ‘.gallery’, ‘.game’, ‘.games’, ‘.garden’, ‘.gent’, ‘.gift’, ‘.gifts’, ‘.gives’,’.glass’, ‘.global’, ‘.gmbh’, ‘.gold’, ‘.golf’, ‘.graphics’, ‘.gratis’, ‘.green’, ‘.gripe’, ‘.group’, ‘.guide’, ‘.guitars’, ‘.guru’,’.haus’, ‘.healthcare’, ‘.help’, ‘.hiphop’, ‘.hiv’, ‘.hockey’, ‘.holdings’, ‘.holiday’, ‘.horse’, ‘.host’, ‘.hosting’, ‘.house’, ‘.how’,’.immo’, ‘.immobilien’, ‘.industries’, ‘.ink’, ‘.institute’, ‘.insure’, ‘.international’, ‘.investments’, ‘.jetzt’, ‘.jewelery’, ‘.jobs’, ‘.juegos’,’.kaufen’, ‘.kim’, ‘.kitchen’, ‘.kiwi’, ‘.land’, ‘.lawyer’, ‘.lease’, ‘.legal’, ‘.lgbt’, ‘.life’,’.lighting’, ‘.limited’, ‘.limo’, ‘.link’, ‘.live’, ‘.loan’,’.loans’, ‘.lol’, ‘.love’, ‘.ltd’, ‘.ltda’, ‘.luxury’, ‘.maison’, ‘.management’, ‘.market’, ‘.marketing’, ‘.markets’, ‘.mba’, ‘.media’, ‘.memorial’, ‘.men’, ‘.menu’, ‘.mobi’, ‘.moda’,’.moe’, ‘.mom’, ‘.money’, ‘.movie’, ‘.network’, ‘.ninja’, ‘.one’, ‘.onl’, ‘.online’, ‘.ooo’, ‘.partners’, ‘.parts’, ‘.party’, ‘.pet’, ‘.photo’, ‘.photography’, ‘.photos’, ‘.physio’, ‘.pics’,’.pictures’, ‘.pink’, ‘.pizza’, ‘.place’, ‘.plumbing’, ‘.plus’, ‘.poker’, ‘.porn’, ‘.press’, ‘.pro’, ‘.productions’, ‘.promo’, ‘.properties’, ‘.property’, ‘.protection’, ‘.pub’,’.qpon’, ‘.radio.am’, ‘.radio.fm’, ‘.racing’, ‘.recipes’, ‘.red’, ‘.rehab’, ‘.reisen’, ‘.rent’, ‘.rentals’, ‘.repair’, ‘.report’, ‘.rest’, ‘.restaurant’, ‘.reviews’, ‘.rip’,’.rocks’, ‘.rodeo’, ‘.run’, ‘.sale’, ‘.salon’, ‘.sarl’, ‘.school’, ‘.schule’, ‘.science’, ‘.security’, ‘.services’, ‘.sex’, ‘.sexy’, ‘.shiksha’, ‘.shoes’, ‘.shop’, ‘.shopping’, ‘.show’, ‘.singles’, ‘.site’, ‘.ski’, ‘.soccer’, ‘.social’, ‘.software’, ‘.solar’, ‘.solutions’, ‘.soy’, ‘.space’, ‘.store’, ‘.stream’, ‘.studio’, ‘.study’, ‘.sucks’, ‘.supplies’, ‘.supply’, ‘.support’, ‘.surf’, ‘.surgery’, ‘.systems’, ‘.tattoo’, ‘.tax’, ‘.taxi’, ‘.team’, ‘.tech’, ‘.technology’, ‘.tel’, ‘.tennis’, ‘.theater’, ‘.theatre’, ‘.tienda’, ‘.tips’, ‘.tires’, ‘.today’, ‘.tools’, ‘.top’, ‘.tours’, ‘.town’, ‘.toys’, ‘.trade’, ‘.trading’, ‘.training’, ‘.travel’, ‘.tube’, ‘.tv’, ‘.university’, ‘.uno’, ‘.vacations’, ‘.ventures’, ‘.vet’, ‘.viajes’, ‘.video’, ‘.villas’, ‘.vin’, ‘.vip’, ‘.vision’, ‘.vodka’, ‘.vote’, ‘.voto’, ‘.voyage’, ‘.wang’, ‘.watch’, ‘.webcam’, ‘.website’, ‘.wedding’, ‘.whoswho’, ‘.wiki’, ‘.win’, ‘.wine’, ‘.work’, ‘.works’, ‘.world’, ‘.wtf’, ‘.xxx’, ‘.xyz’, ‘.yoga’, ‘.zone’

We can’t register premium domains ‘.actor’, ‘.airforce’, ‘.band’, ‘.bike’, ‘.build’, ‘.cam’, ‘.career’, ‘.casa’, ‘.center’, ‘.click’, ‘.clinic’, ‘.cloud’, ‘.club’, ‘.codes’, ‘.consulting’, ‘.country’, ‘.courses’, ‘.dance’, ‘.degree’, ‘.dentist’, ‘.diamonds’, ‘.digital’, ‘.directory’, ‘.email’, ‘.engineer’, ‘.equipment’, ‘.exchange’, ‘.expert’,’.family’,’.fashion’,’.film’,’.fishing’,’.fit’, ‘.forsale’,’.fui’,’.game’,’.garden’,’.glass’,’.gratis’, ‘.gripe’,’.horse’,’.jewelery’,’.life’,’.limited’,’.live’, ‘.love’,’.ltda’,’.management’,’.market’,’.network’, ‘.ninja’,’.one’,’.photos’,’.productions’,’.rehab’,’.report’ ,’.reviews’,’.rip’,’.zone’,’.work’,’.whoswho’,’.wedding’, ‘.vodka’,’.video’,’.vet’,’.training’,’.tips’,’.technology’, ‘.surf’,’.support’,’.supplies’,’.study’,’.studio’,’.solutions’, ‘.software’,’.social’,’.ski’,’.sale’,’.rodeo’

Как запустить node.js на обычном хостинге Linux

Недавно я увидел хорошую платформу для блогов под названием призрак.
Но он основан на node.js так что обычный линуксовый хостинг с этим не справится.
Так можно ли запустить node.js на Cpanel (хост Linux) или конвертировать проекты node.js в обычный php?

4 ответы

DigitalOcean в настоящее время это самый дешевый и (на мой взгляд) самый простой способ начать блог Ghost. Они предлагают установку Ghost в один клик на своих SSD VPS, которые работают на Ubuntu. Хм, DigitalOcean совсем новый, они начали еще в 2011 году, но устанавливают новые стандарты — за 5 долларов в месяц вы можете получить VPS с 20Gb SSD, 1TB пропускной способностью и другими интересными функциями.

Но будьте осторожны, они настолько дешевы, потому что не предлагают круглосуточную поддержку 24 дней в неделю, как Mediatemple или другие решения для корпоративного хостинга, но они do иметь замечательный форум/блог, управляемый сообществом, где вы можете найти хорошие учебные пособия, начиная от настройки VPS и заканчивая хостингом OpenVPN.

Обычно обычные общие хосты не предоставляют хостинг node.js. Вы можете попробовать aws ec2 и установить в него node.js или попробовать heroku или других хостинг-провайдеров node.js.

эти услуги хороши, но это не отвечает на мой вопрос. Что насчет конвертации? — MPOWER

Какой хостинг выбрать для Node.JS

В случае если вы хотите знать, какой хостинг выбрать для Node Js, вы попали по адресу.

Найти хорошего хостинг провайдера, предоставляющего качественные услуги с поддержанием подобного окружения, не так уж просто. Я вам расскажу о самых лучших на сегодняшний день в России.

Какой хостинг выбрать для Node.JS

Какой хостинг выбрать для платформы Node.JS

Node.Js — это особая платформа, функционирующая на V8, которую создали инженеры Google. Эта площадка конвертирует JS из специального узкоспециализированного в язык общего назначения.

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

В данном материале я не собираюсь углубляться в какие-то технические подробности настройки этого хостинга. Для этого, если потребуется, я напишу специальную статью в будущем. Кроме того, хочу заметить, что поставить платформу на виртуальный хостинг не получится. Ее работу поддерживает исключительно виртуальный сервер.

Начать основную часть я бы хотел с высказывания знаменитого ученого А. Эйнштейна: «Нужно стремиться не к тому, чтоб добиться большого успеха, а к тому, чтоб жизнь имела смысл».

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

ТОП хостинги

Reg.Ru

Reg.Ru — это лидер отечественного сегмента регистраторов, который оказывает услуги еще с 2006 года. По сведениям официального сайта хостинг провайдера, сейчас они обслуживают примерно 2,9 миллиона доменов, а количество клиентов находится на отметке 1,3 миллиона. За одиннадцать лет с момента основания разные услуги были предоставлены 21 миллион раз.

Фирма предлагает VPS Украина как на Linux, так и на Windows.

В случае если вы не уверены в собственных силах, установить на сервер Node.Js можно с поддержкой регистратора. При этом компания не берет доплату за оказание дополнительной услуги такого рода. Я считаю, что это огромное преимущество.

По опыту работы с данным хостинг провайдером выделяю такие плюсы:

  • В работе применяется современное оборудование, которое часто обновляется для соответствия всем современным требованиям.
  • Спустя пару минут после оплаты заказа VPS работает в штатном режиме, потому начинать работать можно фактически сразу же.
  • В случае если заканчиваются доступные ресурсы, то можно с легкостью перейти на другой тариф. Все проходит в автоматическом режиме, свой сервер перенастраивать вам не придется.
  • Хостер Reg.Ru несет ответственность за предоставление тех ресурсов, которые заявлены в описании тарифа. Все так и есть в действительности.
  • Приятными дополнениями являются выбор ОС Windows из ряда редакций и доступ к удаленному рабочему столу. Этот хостинг провайдер давно себя зарекомендовал на российском рынке. Он оказывает качественные услуги и идет в ногу со временем. В случае если вы ищите надежный сервер для Node.Js, то можете смело выбирать Reg.Ru.

Какой хостинг выбрать для Node.JS

Unihost

Unihost — это международный хостинг провайдер, который оказывает услуги на отечественном рынке уже несколько лет. Основан в далеком 2001 году.

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

Регистратор предлагает сразу четыре тарифных плана VPS, на которые можно легко установить Node.

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

Преимущества данного хостера:

  • Сервера подключены к каналу интернета со скоростью 500 Мбит/с (1 Гбит/с при пиковых нагрузках).
  • При заказе VPS пользователь получает 10 IPv и один IPv4. Если вам понадобится больше, то заказать можно дополнительный IPv4 за 124 рубля в месяц. При этом дополнительные IPv6 предоставляются совершенно бесплатно.
  • После оплаты пользователь получает специальные данные к root доступу. Через него выполняется контроль работы сервера, а также состояния ресурсов. Можно сделать перезагрузку, остановку или же установить дополнительные элементы.
  • При возникновении любых проблем можно обратиться в службу технической поддержки. Для связи применяется онлайн-чат на официальном сайте, тикетная система, а также электронная почта, которая указана на портале.
  • Специалисты этого хостинг провайдера оказывают всестороннюю помощь клиентам в России и прочих странах. Установка нужных элементов, перенос проектов от иных регистраторов на Unihost, а также многое другое. В случае если вы желаете работать с компанией, имеющей международное имя, советую попробовать сотрудничать именно с Unihost.

TimeWeb

Хостинг провайдер под названием TimeWeb тоже предлагает поддержку Node.Js на своих серверах VDS. Эта компания работает еще с 2006 года.

На своем собственном оборудовании содержит больше 370 тысяч веб-сайтов разной величины. В работе применяются исключительно современные технологии, оборудование расположено в двух ЦОДах в Петербурге.

Четких тарифных планов здесь нет. Хостер предлагает довольно гибкие настройки.

Пользователь выбрать может столько ресурсов, сколько ему необходимо. Кроме того, можно выбрать нужную панель администрирования и операционную систему. На виртуальный сервер от хостера TimeWeb можно установить практически любое количество доменов, сайтов, почтовых ящиков.

Основные преимущества хостера:

  • Панель управления VDS с простым и интуитивно понятным интерфейсом — это авторская разработка команды специалистов TimeWeb.
  • Организация гарантирует защищенность пользовательских данных. Вдобавок, каждый сервер имеет надежную защиту от атак хакеров.
  • В случае если ваш интернет-сайт растет, а ресурсы используются на пределе, то вы можете с легкостью добавить процессоров или оперативной памяти. Это никак не повлияет на работу веб-проекта, абсолютно все настройки сохранятся.
  • Вы получаете именно столько ресурсов, сколько ранее заказали. Соседи по серверу не влияют на стабильность функционирования вашего интернет-ресурса.
  • Команда контролирует работу оснащения круглосуточно, что обеспечивает стабильность в течение 24 часов.

Я советую рассмотреть данный вариант прежде всего. Хотя, здесь есть небольшой минус — техническая поддержка не оказывает помощи во время установки Node.Js и не несет какой-то ответственности за последствия размещения данной платформы на виртуальном сервере.

Кроме вышеперечисленных вариантов, можно также рассмотреть HandyHost. Там можно арендовать VPS на Windows или Linux и установить на него платформу Node.Js.

Какой хостинг выбрать для Node.JS

Есть ли халява?

В случае если вы еще только начинаете осваивать эту технологию, то рекомендую воспользоваться услугами Heroku или Appfog. Здесь можно воспользоваться аккаунтами, которые поддерживают Node, совершенно бесплатно. Таким образом, можно комфортно заниматься самообучением, тестировать собственные разработки и многое другое. Главное — это снизит ваши расходы.

Вывод

В настоящее время Node.Js очень быстро набирает популярность. Многие солидные компании подключают поддержку данной технологии. К примеру, на Amazon совсем недавно появилось AWS SDK, которое поддерживает работу Node.

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

Очень надеюсь, что я помог вам в вопросе какой хостинг выбрать. Занимайтесь, экспериментируйте и создавайте! Создавайте что-нибудь новое, сполна раскрывайте собственный творческий потенциал.

Related Posts