Как развернуть Strapi на собственном VPS

В этой статье мы узнаем, как настроить собственный VPS и использовать его с Strapi.

Автор: Абдулвахаб Ашими

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

Статья будет посвящена знакомству с настройкой существующего приложения Strapi и его развертыванием на VPS.

Что такое Strapi?

Strapi — это безголовая система управления контентом с открытым исходным кодом, которая предлагает вам возможность разрабатывать API с отличительными особенностями. Она построена на Node.js и работает с любыми Frontend Frameworks с поддержкой GraphQL.

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

Что такое VPS?

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

Цели

В конце этого руководства вы должны уметь настраивать VPS, устанавливать основные требования, клонировать и развертывать свой проект Strapi на VPS.

Предварительные условия

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

  1. Базовые знания JavaScript
  2. Базовое понимание Strapi — начните здесь.
  3. Учетная запись Github
  4. Git установлен на вашем компьютере
  5. Скачайте и установите Node.js v14+
  6. VScode или любой другой текстовый редактор

Аппаратные требования Strapi

  • Не менее 1 ядра процессора (рекомендуется: 2 ядра процессора)
  • Node Js версии 12 или 14 (релизы с нечетными номерами не поддерживаются)
  • Минимум 2GBs RAM (рекомендуется: 4GBs)
  • Дисковое пространство Минимум 32 ГБ

Поддерживаемая операционная система

  • Ubuntu >= 18.04 (только LTS)
  • Debian >= 9.x
  • CentOS/RHEL >= 8
  • macOS Mojave или новее (ARM не поддерживается)
  • Windows 10
  • Docker — репозиторий docker

Настройка вашего VPS

Для этого урока мы будем использовать Lightsail VPS.

  • Перейдите на страницу Lightsail VPS.
  • Зарегистрируйте учетную запись; от вас потребуется кредитная карта, но с вас не будут снимать деньги до истечения 3-месячной бесплатной пробной версии.

  • Нажмите на кнопку «Создать инстанс».

  • Выберите Linux в качестве платформы, Node для Blueprint и Instance Plan должен быть $20, так как наше приложение Strapi требует как минимум 4gb и 2 vCPU. Приступайте к созданию экземпляра, и вы будете перенаправлены сюда.

Если вместо «запущен» вы увидите «ожидается», просто подождите пару минут.

  • Нажмите на значок терминала прямо напротив имени вашего экземпляра и запустите терминал.

Настройка вашего проекта

На этом этапе мы займемся настройкой нашего проекта:

  • Убедитесь, что Git установлен, запустив его.
    git version
Войдите в полноэкранный режим Выйти из полноэкранного режима

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

  • Теперь нам нужно клонировать наш проект Strapi с Github.
    git clone (url)
# mine is: 
    git clone https://github.com/ibn-ashimi/my-project.git

Вход в полноэкранный режим Выйдите из полноэкранного режима

Теперь, когда наш проект находится на VPS, мы можем приступить к его настройке.

  • Установите yarn и npm и убедитесь в этом, выполнив: https://computingforgeeks.com/install-node-js-14-on-ubuntu-debian-linux/.
    yarn -v
    #or
    npm -v
Войти в полноэкранный режим Выйти из полноэкранного режима

Это покажет вам версию, которая у вас установлена. В моем случае yarn имеет версию 1.22.18, а npm — версию 8.5.5, что вполне нормально.

Установка пакетов

Для развертывания проекта вам необходимо установить пакеты npm. Вы можете использовать либо Forever JS, либо PM2.

  • В терминале перейдите в папку проекта с помощью команды
    cd (project name)

    npm install --production
    #and
    npm i forever -g
    #or
    npm i pm2 -g
Войти в полноэкранный режим Выйти из полноэкранного режима

Рекомендуется установить и forever, и pm2. Если у вас возникли проблемы с разрешениями npm, используйте Sudo.

Настройка приложения

Теперь нам нужно настроить наше приложение и установить dotenv, который будет содержать переменные окружения.

  • Установите dotenv с помощью:
    npm i dotenv
    cp .env.example .env
Войдите в полноэкранный режим Выйдите из полноэкранного режима
  • Откройте .env
    nano .env
Войдите в полноэкранный режим Выйдите из полноэкранного режима

и включите переменные из вашей базы данных

    HOST=0.0.0.0
    PORT=1337
    APP_KEYS=2V+39791mGaxSwRHHhwfhg==,aMWCRV6iaTxRZXx5NM/2BA==,rIsvFirfdm8YNwsy0QnLug==,dWUY3urnIol5YOkpdLTkfQ==
    API_TOKEN_SALT=ksJpczGexS/3UaQ4Lb2efQ==
    ADMIN_JWT_SECRET=S1WqtEgbW9ZKy3eF2JUbZQ==
    JWT_SECRET=S72rrbkK0kCk1eE6g5CqIA==
Войдите в полноэкранный режим Выйдите из полноэкранного режима

Создайте свой проект

Для этого выполните следующие действия:

    NODE_ENV=production yarn build
    #or
    NODE_ENV=production npm run build
Войти в полноэкранный режим Выйти из полноэкранного режима

Вы должны получить сообщение об успехе.

Чтобы ваше приложение было развернуто с помощью forever или PM2, создайте файл «server.js» с помощью команды

    nano server.js
Войти в полноэкранный режим Выйти из полноэкранного режима

и введите

    const strapi = require('@strapi/strapi');
    strapi(/* {...} */).start();
Войти в полноэкранный режим Выйти из полноэкранного режима

затем сохраните.

Запустите сервер Strapi:

    NODE_ENV=production pm2 start server.js --name api
    # or
    NODE_ENV=production forever start server.js
Войдите в полноэкранный режим Выйти из полноэкранного режима

Для просмотра процессов вы можете использовать

    pm2 list
Войти в полноэкранный режим Выйти из полноэкранного режима

Заключение

Отлично сработано! Вы развернули свой проект Strapi на VPS-сервере. В этой статье рассмотрены основы развертывания на VPS, а также установка и настройка обратного прокси nginx, чтобы ваше приложение работало на веб-порту.

Оцените статью
devanswers.ru
Добавить комментарий