Как установить Sinatra на Windows Server

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

В статье рассмотрим, как установить Sinatra на виртуальный выделенный сервер, работающий под управлением Windows Server 2016.

Установка Ruby

Поскольку Sinatra написан на Ruby, и создаваемые приложения полностью используют его синтаксис и возможности, то для работы Sinatra требуется установленный интерпретатор Ruby.

Установка Ruby на Windows Server описана в соответствующей статье нашего справочника.

По окончании установки Ruby можно переходить непосредственно к инсталляции фреймворка Sinatra.

Как установить Sinatra на Windows Server

Откройте командную строку от имени администратора и выполните команду, которая установит Sinatra при помощи такого инструмента, как gem:

gem install sinatra

Затем таким же образом установите библиотеку Rackup, которая нужна для запуска Rack-приложений, использующихся в том числе и фреймворком Sinatra:

gem install rackup

Теперь создайте простейшее приложение на Sinatra, для чего перейдите в корень диска C:

cd c:\

Где создайте каталог, в котором будут находиться файлы вашего проекта, например, your-project:

mkdir your-project

После чего перейдите в созданную директорию:

cd your-project

И в ней создайте файл вашего приложения, например, your-app.rb:

type nul > your-app.rb

Затем откройте файл your-app.rb при помощи блокнота и вставьте в него следующий текст:

require 'sinatra'
set :bind, '0.0.0.0'
get '/' do
"Hello! It is Your Sinatra Site!"
end

После того, как вы сохраните файл your-app.rb, созданное приложение уже можно будет запустить, для чего в командной строке выполните команду:

ruby your-app.rb

Пока приложение запущено, вы можете открыть сайт в браузере, введя в строке навигации его адрес — http://localhost:4567.

Ваш сайт на Sinatra - Как установить Sinatra на Windows Server

Обратите внимание, что по умолчанию сайт, созданный Sinatra, доступен по порту 4567.

Запуск Sinatra как службы

Чтобы каждый раз не запускать приложение из командной строки, можно установить Sinatra в качестве службы. Это также позволит выполнять запуск приложения при каждом старте системы.

Так как в Windows Server отсутствует штатная возможность создания служб, для запуска сервиса придётся использовать какой-либо сторонний инструмент. В нашем случае мы применим такое решение, как NSSM (Non-Sucking Service Manager).

Для установки в систему NSSM перейдите на его официальную страницу и загрузите zip-архив актуального релиза.

Страница загрузки дистрибутива NSSM

По окончании загрузки распакуйте архив на диск C: и в командной строке перейдите в каталог, содержащий исполняемый файл nssm.exe:

cd C:\nssm-2.24\win64\

Находясь там, установите службу SinatraApp:

nssm install SinatraApp

При этом откроется окно инсталлера NSSM следующего вида:

Установка новой службы SinatraApp - Как установить Sinatra на Windows Server

Здесь укажите параметры:

  • Path — путь к исполняемому файлу Ruby: C:\Ruby33-x64\bin\ruby.exe;
  • Startup directory — каталог исполняемого файла Ruby: C:\Ruby33-x64\bin;
  • Arguments — путь к файлу вашего приложения: C:\your-project\your-app.rb.

Затем нажмите кнопку Install service. Таким образом, вы создадите службу для приложения Sinatra, которая называется SinatraApp.

Теперь откройте список служб, для чего нажмите Win R, где введите services.msc и нажмите OK.

В списке найдите и откройте службу SinatraApp. В её свойствах в строке Startup type выберите Automatic и запустите сервис при помощи кнопки Start. Затем закройте окно, нажав кнопку OK.

Запуск созданной службы SinatraApp

Настройка брандмауэра

Чтобы получить доступ к созданному сайту не только через браузер, запущенный на удалённом сервере, но и со своей локальной рабочей станции, необходимо в брандмауэре создать разрешающее правило для используемого фреймворком порта.

Для запуска брандмауэра используйте комбинацию клавиш WIn R, где введите firewall.cpl и нажмите OK.

В открывшемся окне брандмауэра кликните Advanced settings.

Брандмауэр Windows - Как установить Sinatra на Windows Server

Затем перейдите в раздел Inbound Rules и нажмите New Rule для создания нового правила.

Создание нового правила в брандмауэре Windows

В стартовом окне мастера создания правила укажите его тип как Port.

Тип создаваемого правила - Port

Затем выберите тип порта TCP и укажите его номер — 4567.

Выбор типа и номера порта

Далее определите правило как разрешающее, выбрав опцию Allow the connection.

Определение типа правила как разрешающего

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

Выбор типов сетей, на которые будет действовать создаваемое правило

Теперь введите имя для создаваемого правила. В нашем примере это — Sinatra App.

Название создаваемого правила - Sinatra App

Правило будет создано, как только вы нажмёте кнопку Finish.

После чего вы сможете подключиться к сайту из браузера, запущенного на локальном компьютере. Для этого в строке навигации введите IP-адрес удалённого сервера с номером порта, используемого Sinatra.

Ваш сайт на Sintra - Как установить Sinatra на Windows Server

Вам также может понравиться