Бортовой журнал
Бортовой журнал

С недавних пор на виртуальные сервера от SpaceWeb можно установить платформу Node.js в пару кликов. Node.js - это платформа для выполнения JavaScript кода на сервере.

В этой статье мы разберем упрощенную установку и настройку окружения для разработки и запуска JavaScript приложений на виртуальном сервере. В качестве окружения (стека технологий) будем использовать стек MEAN, в состав которого входит платформа Node.js.

Пара слов о стеках технологий на серверах

На нашем виртуальном хостинге клиенты по умолчанию используют один из самых популярных стеков технологий (набор программ) — LAMP (ОС Linux , веб-сервер Apaсhe, СУБД MySQL, ЯП PHP). Альтернативой ему может служить стек LEMP, в котором в качестве веб-сервера выступает известный Nginx.

Эти два стека используются на хостингах повсеместно, так как для работы сайтов в интернете чаще всего используется серверный язык PHP, в том числе и для сайтов на CMS. В совокупности с какой-нибудь серверной операционной системой из семейства Linux, веб-сервером Apache/Nginx и СУБД MySQL получается эталонный стек, который подойдет для большинства среднестатистических сайтов.

Однако, далеко не все разработчики пишут на языке PHP, да и язык мягко говоря не подходит для разработки приложений или ботов. В этом случае разработчику нужное другое серверное окружение и таким окружением может быть стек MEAN, MERN или MEVN.

Расшифровка:

  • MEAN: MongoDB (СУБД), Express (Back-end фреймворк), Angular (Front-end фреймворк), Node.js (Среда выполнения JavaScript).
  • MERN: MongoDB, Express, React.js, Node.js.
  • MEVN: MongoDB, Express, Vue.js , Node.js.

В данной статье мы установим на сервер стек MEAN, так как JavaScript-фреймворк Angular активно развивается компанией Google и в ближайшие годы не потеряет своей актуальности.

Заказ VPS с Node.js

Для заказа виртуального сервера с платформой Node.js перейдите на наш сайт хостинга в раздел "VPS"

Выберите подходящий по ресурсам тариф и в поле ПО укажите Node.js. Обратите внимание, что на данный момент Node.js доступен для установки только на серверы с дистрибутивом Ubuntu 20.04.

После регистрации и заполнения реквизитов владельца аккаунта вы можете взять виртуальный сервер c Node.js на бесплатный тест в течение 3 дней или оплатить услугу на нужный вам период.

Установка и настройка стека MEAN на виртуальном сервере

Для настройки стека MEAN понадобится немного поработать с консолью сервера. Подключитесь к VPS по протоколу SSH, например, с помощью программы Putty. Логин и пароль для авторизации на сервере вы можете найти на контактной почте.

После авторизации обновите системные пакеты следующей командой

apt-get update -y

Далее установите актуальную версию СУБД MongoDB.

apt-get install mongodb -y

Включение СУБД MongoDB выполняется следующими командами

systemctl start mongodb
systemctl enable mongodb

Следующие службы необходимо установить для корректной работы стека MEAN на сервере

apt-get install curl gnupg2 unzip git gcc g++ make -y

И несколько важных пакетов

npm install -g yarn
npm install -g gulp
npm install pm2 -g

Загрузка актуальной версии стека MEAN из репозитория происходит следующей командой

git clone https://github.com/meanjs/mean

Теперь перейдите в директорию mean и установите в нее менеджер пакетов yarn

cd mean
yarn install

Тестирование стека MEAN

Откройте конфигурационный файл server.js

nano server.js

Замените содержимое в этом файле на строки ниже и сохраните

const express = require('express');
const MongoClient = require('mongodb').MongoClient;
const app = express();
app.use('/', (req, res) => {
MongoClient.connect("mongodb://localhost:27017/test", function(err, db){
db.collection('Example', function(err, collection){
collection.insert({ pageHits: 'pageHits' });
db.collection('Example').count(function(err, count){
if(err) throw err;
res.status(200).send('Page Hits: ' + Math.floor(count/2));
});
});
});
});
app.listen(3000);
console.log('Server running at http://localhost:3000/');


module.exports = app;

Запустите сохраненный файл server.js следующей командой

pm2 start server.js

На экране консоли должен появиться подобный вывод

Для тестирования работоспособности стека MEAN введите в браузер адрес http://ip-сервера:3000

Чтобы убедиться, что стек работает корректно, обновите страницу. Если количество Page Hits меняется при каждом обновлении, то стек MEAN (в частности веб-сервер) работает корректно, можете перейти к деплою JavaScript-приложения на вашем виртуальном сервере.

Отличные VPS на NVMe-дисках и бесплатный тестовый период 3 дня!

Выбрать тариф