Автор: Абдулвахаб Ашими
Существует несколько облачных вариантов развертывания вашего приложения Strapi, но в этой статье я расскажу вам, как установить экземпляр Strapi на виртуальный частный сервер для использования.
Эта статья будет посвящена тому, чтобы познакомить вас с настройкой существующего приложения Strapi и его развертыванием на VPS.
Что такое Страпи?
Strapi — это безголовая система управления контентом с открытым исходным кодом, которая дает вам возможность разрабатывать API с отличительными функциями. Он построен на Node.js и работает с любыми интерфейсными платформами с поддержкой GraphQL.
С помощью Strapi вы можете создавать собственные типы контента, связи и медиатеки для изображений и аудиофайлов.
Что такое VPS?
Виртуальный частный сервер — это многопользовательская инфраструктура как услуга, облачный хостинг, предоставляемый разработчикам для размещения своего веб-сайта и приложения на платформе хостинга.
Цели
В конце этого руководства вы сможете настроить VPS, установить основные требования, а также клонировать и развернуть свой проект Strapi на VPS.
Предпосылки
Прежде чем продолжить работу с этим содержимым, необходимо следующее.
- Базовые знания JavaScript
- Базовое понимание Strapi — начните здесь.
- Аккаунт на гитхабе
- Git установлен на вашем компьютере
- Скачайте и установите Node.js v14+
- 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, приступим к его настройке.
- Установите пряжу и npm, и вы можете подтвердить это, запустив: https://computingforgeeks.com/install-node-js-14-on-ubuntu-debian-linux/
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, чтобы ваше приложение было подключено к веб-порту.