Развертывание http-сервиса OneScript на Raspberry Pi

23.04.18

Разработка - OneScript

В статье описан процесс настройки, а также процесс развертывания http-сервиса (web-приложения) OneScript на Raspbian (Raspberry Pi 2).

Введение
Идея попробовать установить OneScript на устройство типа Raspberry Pi возникла у меня давно, однако сей эксперимент постоянно откладывался, ввиду различных обстоятельств. И вот, улучив момент, когда ребенок смотрел мультфильмы, я наконец-таки решил попробовать. О том, что из этого получилось - читайте ниже. 

Приборы и материалы
В качестве устройства, в экспериметах использовался Raspberry Pi 2.
В качестве операционной системы, на которую производилась установка, использовалась Raspbian OS. Само устройство, поддерживает достаточно большое количество операционных систем, среди которых есть и Ubuntu без графического интерфейса. Конечно, для практического использования - это более правильный вариант, однако, ввиду того, что экспериментальное устройство принадлежит ребенку, и количество времени, выделенное на эксперимент было ограничено, было принято решение использовать уже установленную ОС.
Поскольку Raspbian OS имеет в своей основе Debian, настройка системы мало отличается от настройки Ubuntu Server, описанной в соответствующей статье. Соответственно, моменты одинаковые для обеих ОС, подробно рассматриваться не будут. 

Настройка системы
Получаем доступ к командной строке
Как и в случае с Ubuntu Server, Вы можете подключиться к устройству при помощи клиента SSH, предварительно разрешив подключения в ОС, или запустить штатный LXTerminal из графической оболочки.

Обновляем список доступных пакетов и устанавливаем новые версии
В командной строке выполняем следующие команды:
 

sudo apt-get update
sudo apt-get upgrade


Устанавливаем mono
Сначала я попробовал установить mono из штатного репозитария, однако, как впоследствии выяснилось, версия mono в нем старая, и ядро OneScript завершало работу с ошибкой, поэтому необходимо подключить репозитарий mono-project.
Поиск в google выдал необходимую ссылку с инструкцией.
Обратите внимание, что ссылки для Raspberry отличаются от тех, которые используются для подключения репозитария x86.
Для подключения репозитария, в командной строке выполняем нижеследующие команды:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF 
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list 
sudo apt-get update && apt-get upgrade 

Для установки mono выполняем:
 

sudo apt-get install mono-complete

Установка web-сервера
Не смотря на то, что для Raspbian есть и apache и mod-mono, и вроде-бы все должно быть хорошо, гугл выдал некоторое количество публикаций, в которых говорится о проблемах с использованием mod-mono server на Raspberry. Поэтому было принято решение, использовать в качестве web-сервера XSP (к тому-же установка apache и mono-mod-server уже описана в другой статье). Это простой web-сервер, который как правило используется для разработки и отладки, однако, он может быть успешно применен и в продуктивных средах в связке с ngix. Поскольку время эксперимента, а также файловые ресурсы на SD-карте устройства были ограничены, я ограничился установкой только XSP.
Для установки XSP, в командной строке выполните следующую команду:
 

sudo apt-get install mono-xsp4

Развертывание приложения
В качестве приложения для развертывания было выбрано приложение, описанное в этой статье (//infostart.ru/public/792995/).
В папке /home/pi, была создана папка onescript, куда и было разархивировано содержимое архива приложения.
После распаковки, файл Web.config был переименован в _Web.config, а файл web.config.linux соответственно в web.config.

Запуск приложения
Поскольку web-сервер XSP не является службой (демоном), запуск web-сервера был произведен "вручную".
Для запуска, необходимо перейти в папку с web-приложением: 

cd /home/pi/onescript


и запустить web-сервер

xsp4


После старта, web-сервер сообщит нам информацию, необходимую для доступа к web-приложению

После ввода в браузере соответствующего url, мы увидим наше web-приложение.

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

Заключение 

OneScript, в частности http-сервисы, можно вполне успешно использовать на устройствах Raspberry Pi, версии >= 2. Это может быть полезно в тех случаях, когда использовать отдельный компьютер или виртуальную машину нецелесообразно (ну и в конце концов - просто интересно :)).

web http-сервис raspberry pi OneScript

См. также

Особенности национального Workflow: Github Actions и OneScript

Групповая разработка (Git, хранилище) OneScript Бесплатно (free)

Сегодня мы посмотрим на Github Actions - встроенный инструментарий Github для автоматизации рабочих процессов. Разберем, что это такое, зачем и причем тут OneScript.

25.03.2024    1174    bayselonarrend    3    

35

TCP прокси-сервер хранилища конфигурации 1С

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) OneScript Платформа 1С v8.3 Бесплатно (free)

Продолжение истории с прокси хранилища, но уже не на HTTP, а на TCP и без падений по памяти веб-сервера. Проверяем комментарии хранилища, вызываем веб-хуки, старты пайплайнов, gitsync по событию помещения версии в хранилище. И все это полностью на знакомом и понятном OneScript.

17.01.2024    2772    kamisov    17    

57

Что такое ОСень? Или как лучшие практики из мира Java прижились в экосистеме OneScript

OneScript Бесплатно (free)

Думаете, на OneScript неудобно создавать сложные инфраструктурные приложения? Ошибаетесь. Благодаря фреймворку ОСень за последний год экосистема библиотек, упрощающих написание собственных приложений, существенно выросла. Расскажем о самых передовых технологиях OneScript. Спойлер: будет много рефлексии, мета-аннотаций, желудей, напильников и дубов с завязями.

21.11.2023    3111    NikitaIvanchenko    16    

46

Библиотека создания клиент-серверных приложений для сценарного языка OneScript

Инструментарий разработчика Работа с интерфейсом OneScript Россия Бесплатно (free)

Представленная библиотека позволяет создать многопоточный TCP сервер, к которому может одновременно подключиться множество TCP клиентов с удаленных компьютеров. Эти клиенты могут вызывать методы скриптов как на сервере, так и на других клиентах. Методы будут выполнены в контексте скрипта на удаленной машине. Возможна передача параметров в метод и получение результата. Для TCP клиента можно создать графический интерфейс с большим набором элементов управления, модальными диалоговыми окнами и с обработкой событий.

31.07.2023    2015    ahyahy    8    

32

Получаем статистику по git-репозиторию в разрезе разработчиков

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) OneScript Бесплатно (free)

Итак! Представим, что наступил момент, когда разработка через исходный код реализована на предприятии в полном объеме. Мы разрабатываем в EDT или конфигураторе (но выгружаем конфигурацию в исходный код), версионируем внешние отчеты и обработки и расширения, собираем релизы, проверяем код статическим анализом, в разработке царит гармония и мир. Красота! Но менеджерам этого мало, всегда хочется чего-то еще, и вот мне прилетает задача - дай статистику по вкладу в код каждого разработчика.

13.03.2023    3621    ardn    3    

27

Прокси хранилища 1С (IIS, OneScript)

Групповая разработка (Git, хранилище) OneScript DevOps и автоматизация разработки Платформа 1С v8.3 Россия Бесплатно (free)

Избавляемся от версионной зависимости, проверяем комментарии, вызываем веб-хуки, делаем красивые пути. И все это на привычном IIS и понятном OneScript.

08.12.2022    8036    kamisov    57    

95

OneScript на страже порядка на сервере тестовых баз данных

Администрирование СУБД OneScript Бесплатно (free)

Наводим порядок на сервере тестовых баз с помощью любимого инструмента - OneScript. Находим заброшенные базы на сервере MS SQL, определяем кандидатов на удаление.

14.06.2022    4255    ardn    23    

37

Идем в Serverless с кодом 1С

Облачные сервисы, хостинг OneScript Россия Абонемент ($m)

Запускаем код OneScript в Serverless Container Яндекса.

1 стартмани

29.04.2022    3696    1    papami    2    

9
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. nomadon 367 23.04.18 14:05 Сейчас в теме
Хорошо что малинка начала на инфостарте появляться:)
Ждем появления апача с модулем so на домашнем роутере и реверс прокси на старый адроид (заголовок: "Когда заблокировали Azure, но в 1с очень нужно или как мы собрали кластер серверов из подручного железа")
zarankony; +1 Ответить
2. Alsegan 24.04.18 22:35 Сейчас в теме
А никто не задавался вопросом,может ли быть профит от развертывания 1С на 30 соединенных малинках и будет ли это работать? А то знаю , что из нескольких машинок собирают минисупер компьютеры, но не знаю есть ли применение таким сборкам кроме как в математических вычислениях.
3. blackhole321 1303 25.04.18 06:56 Сейчас в теме
(2) на счёт 1с -вряд ли. Я давным давно пытался развернуть 1С 8.3 файловую с использованием ExaGear (http://raspberrypi.ru/blog/644.html). Появлялся не то splash screen, не то окно логина и все намертво висло.
А так, можно делать штуки типа https://infostart.ru/public/669242/
5. UtrobinMV 4 14.05.18 13:06 Сейчас в теме
(2)
А никто не задавался вопросом,может ли быть профит от развертывания 1С на 30 соединенных малинках


Я думаю, если умножить стоимость серверной лицензии установленной на малинку на 30 раз, то "профита" точно никакого не будет! ;-)
6. olegmedvedev 65 14.05.18 13:38 Сейчас в теме
(5) а зачем ставить серверную лицензию 30 раз?
8. UtrobinMV 4 22.05.18 10:28 Сейчас в теме
(6)потому что 30 серверов (малинок)
9. olegmedvedev 65 22.05.18 10:34 Сейчас в теме
(8)я не совсем в теме - поэтому вопрос - а эта штукень в 30 штук разве не может работать параллельно (одна ОСь на 30 штук)? или точно есть необходимость на каждую малинку ставить свою ОСь?
10. UtrobinMV 4 23.05.18 18:41 Сейчас в теме
(9)Вопрос выходит за рамки данной конференции.
4. пользователь 25.04.18 08:26
Сообщение было скрыто модератором.
...
7. UtrobinMV 4 22.05.18 10:28 Сейчас в теме
11. Voblhned 58 07.02.19 19:39 Сейчас в теме
мне было интересно на Расбери фаловую базу залить самопись, и веб к ней. Там чисто 3 клиента и объем мизерный, серв в таком случае ставить или комп нецелесообразно, а закинуть базу размером 15мб и кинуть ее на роутер просто идеальный вариант.
Оставьте свое сообщение