Как установить node js на хостинг beget
Перейти к содержимому

Как установить node js на хостинг beget

  • автор:

Как запустить NodeJS скрипт на beget?

5dfb82795df14093588809.jpeg

Новичок в nodeJS. пытаюсь запустить node js скрипт на хостинге beget. Выдает ошибку та что на скрине. Что я не так делаю?

const express = require('express'); const bodyParser = require('body-parser'); const pdf = require('html-pdf'); const cors = require('cors'); const app = express(); const port = process.env.PORT || 5000; app.use(cors()); app.use(bodyParser.urlencoded()); app.use(bodyParser.json()); app.post('/create-pdf', (req, res) => < pdf.create(require('./documents/letter'+req.body.tab_id)(req.body), <>).toFile('result.pdf', (err) => < if(err) < res.send(Promise.reject()); >res.send(Promise.resolve()); >); >); app.get('/fetch-pdf', (req, res) => < res.sendFile(`$/result.pdf`) >) app.listen(port, () => console.log(`Listening on port $`));
  • Вопрос задан более трёх лет назад
  • 5014 просмотров

Node js не найдены библиотеки. Что можно сделать?

Добрый вечер! Поставил node js через SSH на хостинг beget. Для запуска сайта хочу поставить parcel bundler. При написании команды npm -v или npm install -g parcel-bundler, появляется следующая ошибка: node: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.18′ not found (required by node)
node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.16′ not found (required by node)
node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.17′ not found (required by node). Что можно сделать в данной ситуации? Буду благодарен за помощь.
. И можно ли запустить сайт на хостинге без npm? Изначально сайт был написан с помощью Parcel bundler.

  • Вопрос задан более трёх лет назад
  • 1051 просмотр

1 комментарий

Средний 1 комментарий

Запуск gulp на хостинге beget

Иногда может потребоваться запустить сборку фронта непосредственно на хостинге, это может быть сайт, где по разным причинам не рационально использовать подход Build & Deploy.

Поскольку мы работаем в основном с хостингом beget.com, речь пойдет о настройке в рамках именно этого хостинга. Но данная инструкция применима и для других площадок.

1. Включение SSH

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

В технической информации панели управления хостингом есть соответствующий переключатель:

2. Подключение по SSH

Теперь можно зайти на сервер по ssh. Для этого в unix подобных системах можно воспользоваться обычным терминалом, а в window специальной программой, например PuTTY.

Адрес сервера можно посмотреть в разделе технической информации из первого пункта. Логин и пароль соответствуют логину и паролю непосредственно к аккаунту хостинга.

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

$ ssh login@host.beget.tech

Где login — логин аккаунта, host.beget.tech — адрес сервера. При подключении будет запрошен пароль от аккаунта хостинга.

3. Установка NodeJS

Установим необходимое ПО. Постольку поскольку это виртуальный хостинг, ставить будем локально.

Сперва необходимо узнать ссылку на архив с последней версией NodeJS, для этого заходим на официальный сайт и ищем там похожий файл «node-v*-linux-x64.tar.gz».

На момент написания статьи актуальная версия 8.1.2 и все команды в примерах содержат название файла этой версии, вам нужно скорректировать команды в соответствии с последней версией NodeJS.

Копируем ссылку на файл и скачиваем его:

$ wget https://nodejs.org/dist/latest/node-v8.1.2-linux-x64.tar.gz
$ tar xvzf node-v8.1.2-linux-x64.tar.gz

Архив нам больше не понадобится, удаляем:

$ rm node-v8.1.2-linux-x64.tar.gz

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

$ export PATH=~/node-v8.1.2-linux-x64/bin:$PATH

Теперь, чтобы изменения вступили в силу, нужно перезайти по ssh.

Проверить все ли работает можно выполнив node -v и npm -v , если они показывают версии программ- все работает.

4. Установка Gulp

Когда NodeJS установлен, можно перейти к установке самого сборщика. Для этого заходим в папку с сайтом, например:

$ cd ~/НАЗВАНИЕ_САЙТА/public_html

И устанавливаем сборщик:

$ npm install gulp-cli -g
$ npm install gulp -D
$ touch gulpfile.js
$ gulp

Последняя команда выведет что-то вроде «Task ‘default’ is not in your gulpfile«- это значит, что сборщик готов к использованию и вы можете приступить к его настройке.

Непосредственно настройку сборщика мы рассмотрим в следующей статье.

Деплой Node.js-приложения

Node.js — среда выполнения JavaScript, которая используется для запуска кода на стороне сервера. С её помощью вы можете написать любой серверный скрипт для веб-приложений. В этом руководстве мы покажем, как приложение Node.js можно развернуть на сервере Timeweb Cloud с Linux.

Установка необходимого ПО

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

Сначала получите последние обновления:

sudo apt-get update

Затем установите Node.js:

sudo apt-get install nodejs

И установите npm для управления пакетами Node.js:

sudo apt-get install npm

Чтобы убедиться в том, что инсталляция ПО прошла успешно, проверьте версии Node.js и npm:

nodejs -v
npm -v

Подробнее о разных методах установки Node.js на Ubuntu мы писали здесь.

Перенос кода на сервер

Деплой Node.js-приложения начинается с переноса кода проекта на хост. Самый удобный способ сделать это — использовать систему контроля версий Git.

Убедитесь, что на Ubuntu установлен Git:

git --version

Если гита нет, установите его:

sudo apt install git

Допустим, код проекта хранится на GitHub. Клонируйте его на сервер:

git clone https://github.com/contentful/the-timeweb-app.nodejs

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

Установка зависимостей

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

Перейдите в корневой каталог вашего проекта и выполните:

npm install

Эта команда проверит файл package.json в проекте и установит пакеты, которые нужны на продакшене. После их добавления на сервер вы можете запустить приложение с помощью команды:

node app.js

Вместо app.js укажите имя корневого файла приложения Node.js.

Управление запуском и обновлением приложения

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

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

Установите pm2 командой:

sudo npm install pm2 -g

Затем запустите сервер Node.js, используя pm2 :

sudo pm2 start app.js --name "web-app" --watch

В примере мы использовали имя «web-app» . Так будет называться запущенный процесс. Вы можете придумать любое другое имя. Директива —watch указывает на то, что pm2 необходимо перезапустить приложение при изменении исходного файла. Теперь все обновления, которые вы принесёте в код проекта, будут сразу отображаться в продакшене.

Осталось разобраться ещё с одним моментом — автоматическим стартом веб-приложения при запуске/перезагрузке сервера. Для этого выполните следующие команды:

sudo pm2 startup
sudo pm2 save

Вам нужно только один раз запустить команду startup , чтобы сгенерировать нужные параметры старта. Команда save указывает pm2 на необходимость сохранить текущие запущенные процессы.

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

Вы можете узнать больше о работе pm2 из официальной документации .

Вывод

В этой статье мы успешно выполнили деплой Node.js на хостинг с Ubuntu. Проект работает без сбоев и автоматически обновляется всякий раз при внесении изменений. Однако это был очень простой пример использования Node.js. Он подходит для развёртывания домашних и учебных проектов.

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

Кстати, в официальном канале Timeweb Cloud собрали комьюнити из специалистов, которые говорят про IT-тренды, делятся полезными инструкциями и даже приглашают к себе работать.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *