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

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

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

Что такое Страпи?

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

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

Что такое VPS?

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

Цели

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

Предпосылки

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

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

Требования к оборудованию Strapi

  • Не менее 1 ядра ЦП (рекомендуется: 2 ядра ЦП)
  • Node Js версии 12 или 14 (выпуски с нечетными номерами не поддерживаются).
  • Минимум 2 ГБ ОЗУ (рекомендуется: 4 ГБ)
  • Место на диске не менее 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 требуется как минимум 4 ГБ и 2 виртуальных ЦП. Перейдите к созданию экземпляра, и вы будете перенаправлены сюда.

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

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

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

На этом этапе мы будем работать над настройкой нашего проекта:

  • Убедитесь, что Git установлен, запустив.
git version

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

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

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

yarn -v
    #or
    npm -v

Это покажет вам версию, которую вы установили. В моем случае моя пряжа имеет версию 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

Желательно ставить и навсегда и 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

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

Чтобы ваше приложение было развернуто с помощью навсегда или 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, чтобы ваше приложение было подключено к веб-порту.