В данной статье я рассмотрю вопрос развертывания с нуля Nuxt.js-проекта (либо любого другого проекта на Node.js) на VDS-сервере с использованием веб-сервера Apahce2, Node.js, менеджера процессов pm2 с полным циклом установки всех компонентов.
Установка будет производится на чистом VDS-сервере, не имеющем каких-либо настроек.
Шаг 1. Подключаемся по SSH к VDS
Для подключения к VDS-серверу по SSH более не требуется скачивать и устанавливать какие-либо дополнительные программы, так как в Windows PowerShell на ОС Windows 10 последних версий уже встроен клиент OpenSSH.
Я же буду использовать приложение Windows Terminal, скачать которое можно в Microsoft Store (разработчик Windows Terminal — сами Microsoft).
В данной инструкции в качестве операционной системы на сервере мы будем использовать Ubuntu Server 20.04
Итак, подключаемся к серверу при помощи следующей команды:
Вместо root вы должны указать своего пользователя, который у Вас был выдан при создании сервера.
Покупка и настройка удаленного сервера! Установка программ на удаленный сервер!
Вместо IP-адреса также можно использовать и FQDN-адрес сервера, если вы уже прописали DNS A-запись на Вашем домене со значением Вашего IP-адреса сервера.
При успешном логине Вы увидите уже терминал (консоль) сервера:
Как видим, мы подключены к удаленному серверу.
Шаг 2. Добавление репозитория Apache2 на сервер и установка веб-сервера
В данной инструкции мы будем устанавливать веб-сервер Apache2 из официального репозитория, так как в репозитории Ubuntu не всегда последняя версия веб-сервера Apache2.
Для начала установим необходимые пакеты командой:
apt install software-properties-common
Если данный пакет уже установлен, то вы увидите следующее:
После установки необходимых пакетов добавляем официальный репозиторий Apache2 следующей командой:
apt-add-repository ppa:ondrej/apache2
При добавлении репозитория, в терминале появится вопрос, на который необходимо нажать клавишу Enter:
После добавления репозитория, производим установку самого веб-сервера Apache2:
apt install apache2
В терминале появится вопрос о подтверждении установки веб-сервера Apache2. Если согласны с установкой — смело нажимайте клавишу Enter.
Как установить сайт на VPS/VDS сервер? Лучший хостинг для сайта в 2021
Теперь можно перейти по IP-адресу, либо по FQDN-адресу вашего сервера и убедиться, что веб-сервер Apache2 успешно установлен.
Примечание. Порты 80 и 443 на вашей виртуальной машине должны быть открыты. Если есть управляемый файерволл в панели управления вашего сервера на хостинге — обязательно проверьте!
Шаг 3. Установка менеджера версий Node.js (nvm) и самого Node.js
Для установки и более удобного дальнейшего контроля версий NodeJS мы установки менеджер версии NodeJS. Пакет называется nvm.
И перейдем в раздел Installing and Updating и выберем один их способов установки скрипта. Я выберу второй через утилиту wget:
Копируем команду и вставляем ее в терминал сервера:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
И жмем клавишу Enter
После установки перезагружаем сервер при помощи кнопки перезагрузки в панели управления сервером, либо через команду в терминале init 6
Примечание. Вместо перезапуска сервера можно переподключиться к нему по SSH так, как указано в шаге 1.
После перезагрузки снова подключаемся к серверу согласно шагу 1.
Запускаем команду nvm для того, чтобы посмотреть и ознакомится со списком команд скрипта. Находим команду установки NodeJS в версии LTS:
Пакет NVM поможет вам «в 2 клика» поддерживать всегда актуальную версию Node.js
Вводим эту команду в терминал и жмем клавишу Enter:
nvm install —lts
Проверяем установленную версию Node.js следующей командой:
node -v
И получаем сообщение об установленной версии Node.js:
Шаг 4. Установка менеджера процессов pm2
Для того, чтобы управлять процессами и приложениями, запущенными в среде Node.js, а также автоматического их запуска после перезагрузки сервера, нам понадобится менеджер процессов Node.js, который мы установим глобально в систему через пакетный менеджер npm. Пакет называется pm2:
npm install -g pm2
При успешной установке мы увидим следующее:
При помощи команды pm2 -h можно посмотреть список доступных команд
Шаг 5. Запуск Node.js-приложения (в нашем случае — Nuxt.js-приложения)
Я создам новое приложение на Nuxt.js для демонстрации работы. Можно запустить таким же образом любое Node.js-приложение, как новое, только что созданное, так и уже готовое приложение.
Примечание. Установку Nuxt.js описывать не буду, так как приложение новое и установка стандартная. Она написана на официальном сайте проекта, у которого есть русская версия документации
Nuxt.js проект по-умолчанию запускается в двух режимах:
- В режиме разработки — npm run dev
- В режиме продакшена — npm run start
Есть еще режим static, который запускается через команду npm run generate . Но я его рассматривать не буду, так как он не используется для постоянного запуска приложения через Node.js
Я же не буду сразу запускать это приложение одной из этих команд, а сразу воспользуюсь менеджером pm2
Для этого перейдем в папку с проектом и запустим команду инициализации менеджера pm2:
pm2 init
Открываем файл ecosystem.config.js прямо в терминале через редактор nano командой и удаляем все содержимое:
nano ecosystem.config.js
Вставляем туда следующее содержимое и сохраняем комбинацией клавиш Ctrl+O, затем жмем Enter:
module.exports = < apps : [ < name: «nuxt-dev», script: «npm», args: «run dev» >, < name: «nuxt-prod», script: «npm», args: «run start» >] >
Для запуска dev-версии используем команду следующую команду:
pm2 start ecosystem.config.js —only nuxt-dev
Для запуска prod-версии:
npm run build pm2 start ecosystem.config.js —only nuxt-prod
Я, для примера, запущу Dev-версию:
Для последующей остановки/запуска приложения не нужно будет заходить в папку с проектом и запускать командой выше. Достаточно будет ввести название приложения из монитора pm2:
pm2 start nuxt-dev
для запуска, либо
pm2 stop nuxt-dev
для остановки приложения.
Для просмотра всех запущенных NodeJS-приложений посредством pm2 небходимо ввести в терминал следующую команду:
pm2 status
Для просмотра монитора процессов:
pm2 monit
Подключаем автоматический запуск приложений через pm2 после перезагрузки сервера:
pm2 startup
и сохраняем изменения:
pm2 save
[Дополнительно] Графический интерфейс pm2 вне терминала
Для запуска веб-интерфейса управления процессами pm2 необходимо зарегистрироваться на сайте pm2.io и создать Bucket.
Будем считать, что есть существующий аккаунт и Bucket (инструкцию можно почитать на оф. сайте pm2).
Вводим команду для подключения к веб-интерфейсу:
pm2 plus
На первом этапе pm2 спросит, есть ли у Вас аккаунт pm2.io (в нашем случае есть и мы вводим букву y и жмем клавишу Enter
Вводим ваш email и пароль от аккаунта.
Если все введено верно, то pm2 попросит Вас выбрать, к какому Bucket подключиться — выбирайте ранее созданный. У меня это TestBucket
При успешном подключении к Bucket в веб-интерфейсе pm2 появится Ваше приложение(процесс). Там вы сможете посмотреть статистику, сбросить монитор и перезагрузить приложение:
Далее нам необходимо повторно добавить в автозагрузку pm2 и сохранить изменения:
pm2 unstartup pm2 startup pm2 save
Шаг 6. Проксирование Node.js-приложения через Apache2 Proxy
У нас уже запущено приложение на Nuxt.js на порту 3000 (по-умолчанию)
Теперь нам необходимо проксировать его на определенный адрес и стандартный порт 80 (для HTTP).
Для этого установим и включим модуль Apache2 Proxy:
a2enmod proxy_http
И перезагрузим веб-сервер командой:
systemctl restart apache2
Переходим в папку с виртуальными хостами Apache2 командой:
cd /etc/apache2/sites-available
и дублируем дефолтный файл конфигурации виртуального хоста Apache2:
cp 000-default.conf ваш_домен.conf
Открываем файл ваш_домен.conf с помощью редактора nano. Изменяем на Ваши следующие значения:
Затем, чтобы проксировать наше приложение на этот адрес, нам необходимо добавить следующие строки:
ProxyPreserveHost On ProxyPass / http://127.0.0.1:3000/ ProxyPassReverse / http://127.0.0.1:3000/
Где :3000 — Ваш порт приложения
Сохраняем изменения комбинацией клавиш Ctrl+O и жмем Enter. Выходим из редактора комбинацией Ctrl+Z
Теперь можно включить виртуальный хост и перезагрузить веб-сервер*:
a2ensite ваш_домен systemctl reload apache2
* В команде a2ensite ваш_домен не обязательно указывать расширение конфигурационного файла
Как видим — приложение успешно открывается на необходимом нам адресе и стандартном порту веб-сервера Apache2
Шаг 7. Тестирование работы pm2
Теперь необходимо проверить, срабатывает ли автоматический запуск приложений менеджером pm2 после перезагрузки сервера.
Для этого в терминале пропишем команду init 6 , либо перезагрузим сервер в панели управления хостингом.
Если Вы все сделали правильно и согласно инструкции — приложение на Node.js автоматически запустится на вашем адресе в течение минуты после запуска VDS-сервера.
Заключение
В данном материале я рассмотрел подробно установку веб-сервера Apache2, установку менеджера версий Node.js — пакета NVM и установку самого Node.js через этот менеджер, запуск Node.js-приложения на примере приложения на Vue.js-фреймворке — Nuxt.js, автоматический запуск этого приложения после перезагрузки сервера с помощью менеджера процессов pm2 и проксирование приложения на определенный адрес.
Старался объединить несколько инструкций в одну на своем личном опыте, когда еще только начинал работать с этими инструментами.
Возможно, более удобный (или правильный?) способ запуска будет через Docker и NGINX. Но в данной статье я показал базовый пример запуска.
Возможно, кому-то статья будет полезной.
Источник: habr.com
Установка Node.js на VDS
Рассмотрим процесс установки Node.js и менеджера пакетов npm на VDS с Debian или Ubuntu.
Подключитесь к VDS через SSH по нашей статье.
Перед установкой стоит проверить актуальность вашей системы. На устаревшие ОС установить Node.js скорее всего не получится. Здесь можно проверить список актуальный версий Ubuntu, а здесь Debian.
Узнать версию Ubuntu можно командой
Устанавливаем пакеты nodejs и npm из официальных репозиториев
Добавьте в систему репозиторий с желаемой версией (в примере используется 19 версия, но вы можете указать любую из доступных, просто поменяв число в команде)
curl -fsSL https://deb.nodesource.com/setup_19.x | bash —
Запустите установку и дождитесь её завершения
apt-get install -y nodejs
На этом установка выполнена и можно проверить версии установленных утилит:
# node -v v19.1.0 # npm -v 8.19.3
Установка с помощью nvm
nvm позволяет установить несколько версий Node.js одновременно, и быстро переключаться между ними. Кроме того, такой способ не требует привелегированных прав и позволяет установить Node.js локально любому пользователю. С помощью nvm можно поставить Node.js даже на хостинге.
Сперва скачайте скрипт установки nvm и запустите его
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
Проверьте список доступных версий
Выберите желаемую версию и установите её
nvm install v18.12.1 # node -v v18.12.1
Бывает так, что окружение пользователя не обовилось и node -v не отрабатывает или показывает не ту версию. Тогда обновите окружение командой
Если вдруг оказалось, что проект не самый новый и требуется более ранняя версия, то просто установите её
nvm install v10.24.1 # node -v v10.24.1
А при необходимости переключиться обратно выполните
nvm use v18.12.1 # node -v v18.12.1
Подробно озакомиться с проектом nvm вы можете на его странице в GitHub.
Источник: www.netangels.ru
Установка программ на vds
- Виртуальные серверы
- Выделенные серверы
- Хостинг
- Все услуги
- Домены
- Администрирование
- SSL
- Ispmanager
- Главная
- База знаний
- Как установить из ISO-образа собственную операционную систему на VDS?
База знаний
Простые инструкции по работе с сервисом ProfitServer
Как установить из ISO-образа собственную операционную систему на VDS?
Поделиться статьей:
В данной статье мы подробно расскажем о том, как установить операционную систему на виртуальный сервер (VPS) из собственного ISO образа.
1. Загрузите ISO-образ с дистрибутивом системы
2. Далее необходимо остановить виртуальную машину в панели VMManager: Выбрать нужную ВМ из списка, затем нажать кнопку «Стоп» и дать подтверждение во всплывающем окне. Нажать кнопку “Диски”
3. В открывшейся вкладке нажать кнопку “ISO”
4. Во вновь открывшейся вкладке выбрать ранее загруженный образ, установить Виртуальное устройство в «hda», указать порядок загрузки — «В начало». Нажать ОК, вернетесь на предыдущую вкладку
5. Снова нажать кнопку «ISO». Во вновь открывшейся вкладке выбрать доступный образ «virtio-drivers-win.iso», установить Виртуальное устройство в «hdb», указать порядок загрузки — «В конце». Таким образом подключаем диск с драйверами — он понадобится в процессе установки.
6. Вернитесь во вкладку «Виртуальные серверы», выберите ранее остановленную машину и нажмите кнопку «Старт» сверху. Как только машина запустится — необходимо БЫСТРО нажать кнопку «VNC» сверху — Откроется новая вкладка в браузере (или новое окно браузера — в зависимости от используемого программного обеспечения). В открывшейся вкладке Вы увидите терминал, и стандартное приглашение Microsoft — «Press any key to boot from CD or DVD. » Нажмите любую клавишу, начнется загрузка с диска.
7. Продолжайте установку — она ничем не отличается от установки на обычный ПК
8. В процессе установки будет этап выбора носителя для установки ОС. Список устройств будет пустым. Для того, чтобы устройства определились необходимо установить драйвер со второго подгруженного на этапе 5 образа диска. Для этого нажмите кнопку «Установить драйвер», выберите на диске драйвер viostor.
Источник: profitserver.ru