Поиск по сайту:

Как установить Sails.js MVC Framework с Nginx на Debian 11


На этой странице

  1. Предпосылки
  2. Установка инструментов разработки
  3. Установите Node.js LTS и диспетчер пакетов Yarn.
  4. Установите Sails.js с помощью диспетчера пакетов Yarn.
  5. Создание первого проекта с помощью Sails.js
  6. Настройка приложения Sails.app как службы Systemd
  7. Настройка Nginx в качестве обратного прокси-сервера для Sails.js
  8. Проверьте свое приложение Sails.js
  9. Заключение

Sails.js — это полнофункциональный фреймворк Node.js, построенный поверх Express socket.io. Это мощная структура MVC, вдохновленная Ruby on Rails, но с поддержкой API, управляемых данными, и масштабируемой, а также сервис-ориентированной архитектурой. Sails.js — это подходящая платформа для создания современных приложений корпоративного уровня, особенно приложений, управляемых данными.

Sails.js предоставляет автоматически генерируемые REST API и мощную ORM под названием Waterline, которая позволяет разработчикам использовать любые базы данных, такие как MySQL, PostgreSQL, MongoDB, Redis и т. д.

Предпосылки

В этой статье вы узнаете, как установить платформу Sails.js на Debian 11 Bullseye. Кроме того, вы узнаете, как создать новый проект с помощью Sails.js и настроить Nginx в качестве обратного прокси-сервера для приложения Sails.js.

Для начала убедитесь, что у вас есть следующие требования.

  • Операционная система: Debian 11 Bullseye
  • Привилегии root

Теперь давайте перейдем к установке.

Установка средств разработки

Во-первых, вы будете устанавливать некоторые инструменты разработки, такие как build-essentials и GCC, в свою систему Debian.

1. Войдите на свой сервер и выполните приведенную ниже команду apt, чтобы обновить репозитории.

sudo apt update

2. Затем выполните следующую команду, чтобы установить средства разработки.

sudo apt install curl build-essential gcc g++ make

Введите y, чтобы подтвердить установку, и нажмите Enter, чтобы продолжить.

Установите Node.js LTS и диспетчер пакетов Yarn

Перед установкой Sails.js вы должны установить Node.js в свою систему Debian.

На этом этапе вы будете устанавливать Node.js, используя репозиторий nodesource.com. И вы будете устанавливать последнюю LTS-версию Node.js 16.x.

1. Выполните следующую команду, чтобы добавить репозиторий Node.js.

curl -fsSL https://deb.nodesource.com/setup_16.x | bash -

Команда автоматически добавит репозиторий Node.js и обновит репозитории в вашей системе.

В конце вы увидите выходные сообщения, предлагающие установить менеджер пакетов Yarn.

2. Добавьте ключ GPG пряжи и репозиторий, используя следующую команду.

curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

3. Затем обновите свои репозитории Debian, затем установите диспетчер пакетов Node.js и Yarn с помощью приведенной ниже команды.

sudo apt update && sudo apt install nodejs yarn

Введите y, чтобы подтвердить установку, и нажмите Enter, чтобы продолжить.

4. Если установка Node.js и пряжи завершена, проверьте версию Node.js и пряжу, используя следующую команду.

node --version
yarn --version

Вы увидите аналогичный вывод, как показано ниже.

# nodejs version
v16.13.1

# yarn version
1.22.15

Установите Sails.js с помощью диспетчера пакетов Yarn

На этом этапе вы будете устанавливать последнюю версию Sails.js с помощью менеджера пакетов пряжи.

1. Выполните следующую команду, чтобы установить Sails.js глобально или для всей системы.

sudo yarn global add sails

Эта команда добавит двоичный файл sails в ваш каталог PATH.

2. Запустите приведенную ниже команду паруса, чтобы проверить версию.

sails --version

В этом примере мы установили Sails.js версии 1.5.

1.5.0

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

sails --help

Ниже приведены все доступные параметры команды паруса.

  Usage: sails [command]


  Options:

    -v, --version  output the version number
    -h, --help     output usage information


  Commands:

    version
    lift|l [options]
    new [options] [path_to_new_app]
    generate
    upgrade
    migrate
    console|c [options]
    www
    debug                            (for Node v5 and below)
    inspect                          (for Node v6 and above)
    run
    test
    lint
    deploy
    debug-console|dc
    help [command]

Теперь перейдите к следующему шагу, чтобы создать новый проект Sails.js.

Создайте первый проект с Sails.js

На этом этапе вы узнаете, как начать новый проект с помощью Sails.js. Из соображений безопасности рекомендуется запустить новый проект Sails.js с пользователем без полномочий root.

1. Войдите в систему под своим пользователем, используя следующую команду.

su - username

2. Выполните приведенную ниже команду sails, чтобы создать новое приложение. В этом примере мы создадим приложение testapp.

sails new testapp

Выберите шаблон для вашего приложения.

Введите номер 1, чтобы выбрать полный шаблон веб-приложения, который включает некоторые важные функции, такие как аутентификация, страница входа и т. д.

Введите номер 2, чтобы выбрать пустое и классическое приложение Sails.js.

Когда ваше приложение будет создано, вы увидите выходное сообщение, например Создано новое приложение Sails \\testapp\\!. И вы получите новый каталог testapp в своем домашнем каталоге.

3. Измените рабочий каталог на testapp и запустите приложение Sails.js с помощью команды, как показано ниже.

cd testapp/
sails lift

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

Ваше приложение Sails.js запущено в разработке с портом по умолчанию 1337.

4. Откройте веб-браузер и введите свой IP-адрес с портом 1337 в адресной строке.

http://192.168.1.50:1337/

Вы увидите индексную страницу веб-приложения Sails.js по умолчанию.

Теперь вернитесь к своему терминалу и нажмите Ctrl+C, чтобы остановить приложение Sails.js.

Перейдите к следующему шагу, чтобы настроить приложение Sails.js в качестве службы systemd.

Настройте приложение Sails.app как службу Systemd

На этом этапе вы создадите новый служебный файл systemd для приложения Sails.js.

1. Создайте новый служебный файл testapp.service с помощью редактора nano.

sudo nano /etc/systemd/system/testapp.service

Скопируйте и вставьте следующую конфигурацию. И обязательно измените User=johndoe на своего пользователя и WorkingDirectory=/home/johndoe/testapp на каталог вашего проекта.

[Unit]
After=network.target

[Service]
Type=simple
User=johndoe
WorkingDirectory=/home/johndoe/testapp
ExecStart=/usr/local/bin/sails lift
Restart=on-failure

[Install]
WantedBy=multi-user.target

Сохраните конфигурацию и выйдите.

2. Затем перезагрузите диспетчер systemd, чтобы применить новую конфигурацию, используя следующую команду.

sudo systemctl daemon-reload

3. Запустите приложение Sails.js с помощью следующей команды.

sudo systemctl start testapp

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

sudo systemctl status testapp

И вы увидите аналогичное выходное сообщение, как показано ниже.

Служба приложений Sails.js активна и работает. он работает в среде разработки по умолчанию с портом по умолчанию 1337.

Перейдите к следующему шагу, чтобы настроить Nginx в качестве обратного прокси-сервера для вашего приложения Sails.js.

Настройте Nginx в качестве обратного прокси для Sails.js

На этом этапе вы будете устанавливать и настраивать веб-сервер Nginx в качестве обратного прокси-сервера для приложения Sails.js.

1. Сначала установите пакеты Nginx с помощью приведенной ниже команды apt.

sudo apt install nginx -y

2. После завершения установки Nginx создайте новую конфигурацию серверных блоков /etc/nginx/sites-available/testapp с помощью редактора nano.

sudo nano /etc/nginx/sites-available/testapp

Измените домен dev.example.io на свой IP-адрес или локальный домен.

server {
 listen       80;
 server_name  dev.example.io;
   location / {
     proxy_pass        http://localhost:1337/;
     proxy_set_header  Host $host;
     proxy_buffering   off;
   }
 }

сохранить конфигурацию и выйти.

3. Затем активируйте блоки сервера testapp и проверьте конфигурацию Nginx с помощью следующей команды.

sudo ln -s /etc/nginx/sites-available/testapp /etc/nginx/sites-enabled/
sudo nginx -t

Если у вас нет ошибок в конфигурации Nginx, вы увидите выходное сообщение, поскольку синтаксис в порядке.

4. Теперь перезапустите службу Nginx, чтобы применить новую конфигурацию блока сервера.

sudo systemctl restart nginx

5. Наконец, вам нужно разрешить пользователю www-data доступ к вашему приложению Sails.js.

Измените рабочий каталог на /home/johndoe, используя следующую команду. В этом примере использовался пользователь johndoe.

cd /home/johndoe/

Измените владельца и права доступа к каталогу приложения Sails.js с помощью приведенной ниже команды.

sudo chown -R johndoe:www-data testapp
sudo chmod -R g+rw testapp

Теперь вы завершили настройку Nginx в качестве обратного прокси-сервера для приложения Sails.js.

Проверьте свое приложение Sails.js

1. На своем компьютере отредактируйте конфигурацию хостов с помощью следующей команды.

sudo nano /etc/hosts

Скопируйте и вставьте следующую конфигурацию. Обязательно измените IP-адрес и доменное имя на свои собственные.

192.168.1.50  dev.example.io

Сохраните конфигурацию и выйдите.

2. Затем откройте веб-браузер и введите локальное доменное имя вашего приложения Sails.js, как показано ниже.

http://dev.example.io/

Вы увидите индекс веб-приложения Sails.js по умолчанию.

3. Теперь нажмите кнопку «Зарегистрироваться», и вы получите страницу для создания учетной записи.

Введите сведения о новом пользователе и пароле, затем нажмите кнопку Создать учетную запись.

4. После входа в систему вы увидите приветственное сообщение от приложения Sails.js, как показано ниже.

Заключение

Поздравляем! Вы успешно узнали, как установить платформу Sails.js на Debian 11 Bullseye. Кроме того, вы узнали, как создать приложение Sails.js и настроить приложение Sails.js как службу systemd.

Наконец, вы узнали, как настроить Nginx в качестве обратного прокси-сервера для вашего приложения Sails.js.