OneScript в облаке или Развертываем http-сервис OneScript на хостинге

Публикация № 826858

Разработка - Языки и среды - OneScript

web onescript http

В статье описан процесс развертывания web-приложения, созданного на базе http-сервисов OneScript на бесплатном хостинге.

 

Введение
Для публикации web-сайта в сети интернет необходим как минимум установленный web-сервер, а также выделенный "белый" ip адрес. Также желательно наличие доменного имени, по которому пользователи будут обращаться к Вашему сайту. Установка и настройка web-сервера, его публикация в internet, а также настройка доменного имени могут вызывать проблемы у разработчиков или малого бизнеса. Альтернативным решением может служить размещение сайта на хостинге.
Поскольку создание сайтов или иных web-приложений на базе http-сервисов OneScript вполне себе возможно, попробуем развернуть тестовый интернет магазин на каком-нибудь хостинге. Результаты развертывания можно увидеть, нажав на кнопку "Показать демо", которая обычно расположена справа.

 

Выбор хостинга 
Поскольку основой http-сервисов OneScript является технология ASP.NET, нам необходим бесплатный Linux или Windows хостинг с поддержкой этой технологии. Беглое изучение предложений показало, что при всем богатстве выбора, бесплатных предложений с поддержкой ASP.NET практически нет. Я уже было хотел оставить эту идею, однако, изучая выдачу гугла и читая ответы на аналогичные вопросы наткнулся на хостинг somee . Как оказалось - это Windows-хостинг, который имеет бесплатный тарифный план с поддержкой ASP.NET, который включает домен третьего уровня, 150 МБайт дискового пространства, 5 ГБайт трафика/мес, а также 15 МБайт пространства для базы MSSQL. В общем-то - не густо :), однако для небольших приложений и тестирования вполне подойдет. 
Ну вот, хостинг выбран, приступим к созданию сайта:

 

Создание сайта
На основании моего опыта, данный процесс описан подробно для не-англоговорящей аудитории :). Те, кто достаточно свободно владеет английским, могут сразу переходить к пункту "Развертывание приложения" (и не пинать меня за столь подробное описание).

Нажимаем кнопку "Learn More"

Затем, кнопку "Order Now"

В появившемся окне для создания нового аккаунта заполняем обязательные поля и нажимаем "Register a new account"

На адрес электронной почты, введенный при регистрации будет выслан код активации. Введем его на странице подтверждения и нажимаем "Confirm".

После некоторого раздумья, появится страница, со списком заказанных услуг. Там должна быть одна запись, соответствующая нашему тарифному плану. 
Нажимаем "Checkout"

Опять-таки после некоторого раздумья, мы попадем на страницу мастера создания нового сайта. В поле "Site Name" вводим имя поддомена нашего сайта. В моем случае я выбрал имя поддомена yepcart. Таким образом, в дальнейшем, я смогу обращаться к своему сайту по имени http://www.yepcart.somee.com или http://yepcart.somee.com.
В качестве операционной системы можно выбрать Windows Server 2016 или Windows Server 2012. В списке версий .NET должна быть версия 4.5. Это обусловлено системными требованиями OneScript. Также можно ввести имя сайта и описание.
В заключение нажимаем "Create Site"

По прошествии некоторого количества времени, система сообщит нам, что наш сайт успешно создан. Перейдем к свойствам, созданного сайта, нажав на "Manage website".

В открывшемся окне мы увидим свойства нашего сайта, некоторые из которых можно менять.

Протестируем созданный нами web-сайт, перейдя в браузере по url, который указан в свойствах сайта.

 

Развертывание приложения
В качестве приложения для развертывания был выбран демонстрационный интернет-магазин, описанный в статье //tf21.ru/public/817239/. Поскольку выбранный хостинг поддерживает подключение по ftp, развертывание приложения представляет собой простое копирование файлов приложения в папку на хостинге.
Однако, в связи с тем, что наже приложение настроено на использование классического пула приложений, а хостинг предоставляет только интегрированный пул - необходимо внести некоторые изменения в файл web.config
Настройки для использования классического пула:

<configuration>
  <system.web>
    <httpHandlers>
      <add verb="*" path="*.os" type="OneScript.ASPNETHandler.ASPNETHandler, ASPNETHandler" />
    </httpHandlers>
    <customErrors mode="Off" />
  </system.web>
  <system.webServer>
    <handlers>
      <add name="OneScript" path="*.os" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" resourceType="File" requireAccess="Script" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
      <add name="OneScript32" path="*.os" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="File" requireAccess="Script" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
    </handlers>
        <defaultDocument>
            <files>
                <add value="index.os" />
            </files>
        </defaultDocument>
   </system.webServer>
  <appSettings>
    <add key="CachingEnabled" value="true" />
    <add key="commonModulesPath" value="~/CommonModules/" />
    <add key="MarkdigMarkdownProcessor" value="attachAssembly" />
    <add key="YamlDotNetProcessor" value="attachAssembly" />
    <add key="sql" value="attachAssembly" />
    <add key="WebBackgroundJobs" value="attachAssembly" />
    <add key="HttpMeans" value="attachAssembly" />
    <add key="maxThreads" value="20" />
    <add key="LogToPath" value="~/db/" />
  </appSettings>
</configuration>

Настройки для использования интегрированного пула:

<configuration>
  <system.web>
    <customErrors mode="Off" />
  </system.web>
  <system.webServer>
    <handlers>
	<add verb="*" path="*.os" type="OneScript.ASPNETHandler.ASPNETHandler" name="ASPNETHandler" />
    </handlers>
        <defaultDocument>
            <files>
                <add value="index.os" />
            </files>
        </defaultDocument>
   </system.webServer>
  <appSettings>
    <add key="CachingEnabled" value="true" />
    <add key="commonModulesPath" value="~/CommonModules/" />
    <add key="MarkdigMarkdownProcessor" value="attachAssembly" />
    <add key="YamlDotNetProcessor" value="attachAssembly" />
    <add key="sql" value="attachAssembly" />
    <add key="WebBackgroundJobs" value="attachAssembly" />
    <add key="HttpMeans" value="attachAssembly" />
    <add key="maxThreads" value="20" />
    <add key="LogToPath" value="~/db/" />
  </appSettings>
</configuration>

Также, наше приложение содержит скрипты do.os, ep.os, go.os, ec.os и epr.os, которые вызываются локальной 1С:Предприятие для обновления сведений о номенклатуре, а также получения и удаления заказов. Для того, чтобы эти сервисы были недоступны для сторонних людей, переименуйте эти файлы, добавив после букв какую-либо случайную строку, к примеру строковое представление GUID. Таким образом, после переименования, имена этих файлов будут соответственно: do123.os, ep123.os, go123.os etc.
Демонстрационная конфигурация имеет константу "СуффиксСтраницОбмена", значение которой, нужно установить идентичным тому, что Вы использовали для переименования файлов.
После внесения изменений, при помощи проводника Windows, подключаемся к нашему сайту по протоколу ftp. Для этого, в строке адреса вводим строку следующего вида: ftp://UrlМоегоСайта. В моем случае, строка имеет вид: ftp://yepcart.somee.com.
В появившемся диалоговом окне вводим учетные данные, которые Вы создали в процессе регистрации:

В открывшемся окне, переходим в папку www.МойПоддомен.somee.com. В моем случае- это www.yepcart.somee.com.

При помощи Ctrl+A, Ctrl+C, Ctrl+V копируем файлы приложения из локальной папки в папку на хостинге.

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

На этом, развертывание приложения можно считать законченным.

Заключение
Надеюсь, что настоящая статья поможет вам в тестировании ваших web-приложений OneScript, а также в решении бизнес-задач.
P.S.
Обратите внимание, что используемый план предполагает автоматическое удаление сайта, если он не используется (не имеет посетителей) в течении 30 дней (см. п. Keeping your site active в описании плана).

Специальные предложения

Оставьте свое сообщение

См. также

Swagger для 1С.

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

Решение для формирования Swagger спецификаций, описывающих HTTP сервисы конфигураций 1С.

21.10.2019    10247    0    botokash    35    

Автоматическое сравнение-объединение баз данных с мини-конфигурацией

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

Представляю вашему вниманию скрипт на OneScript для автоматического сравнения-объединения по правилам ("мержевания") конфигураций нескольких баз с мини-конфигурацией.

14.10.2019    2629    0    artkor    2    

АИТП. Подсистема взаимодействия с рабочими серверами OneScript

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

В статье описан механизм взаимодействия конфигурации АИТП с рабочими серверами OneScript.

22.05.2019    4894    0    blackhole321    33    

1Script.Web. Интернет-приложения на языке 1С

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

Запросы рынка таковы, что любое современное клиент-серверное приложение должно иметь веб-интерфейс. Почему бы не писать такие приложения на языке 1С? Андрей Овсянкин расскажет о возможностях разработки веб-приложений на базе 1Script, рассмотрит перспективы этого направления и в качестве демонстрации покажет «боевое» веб-приложение на новом движке – кроссплатформенную консоль администрирования парка кластеров 1С.

20.05.2019    18500    0    Evil Beaver    33    

Создание высокодоступной фермы рабочих серверов OneScript в ОС Centos 7

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

В статье описана методика создания высокодоступной фермы рабочих серверов OneScript, для конфигурации АИТП.

14.05.2019    4220    0    blackhole321    0    

Разворачиваем рабочий сервер OneScript для конфигурации АИТП

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

В статье описана методика развертывания рабочего сервера OneScript для конфигурации АИТП, на ОС CentOS 7.

09.05.2019    5751    0    blackhole321    0    

Хостим OneScript.Web приложение (heroku)

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

Развертывание oscript.web в heroku.

19.12.2018    5963    0    pallid    6    

Хостим OneScript.Web приложение

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

Удобная возможность для размещения своего OneScript.Web приложение, это завернуть его в docker. Остается вопрос: где разместить контейнер, сделать это можно на vscale или DO, но хочется упростить и не делать установку самого docker на хосте. Один из вариантов - это сервис now https://zeit.co/.

04.07.2018    7421    0    pallid    3    

Добавляем онлайн-чат в web-приложение OneScript

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

В статье рассмотрено подключение онлайн-чата к web-приложению на основе http-сервисов OneScript

24.06.2018    7158    0    blackhole321    1    

Создаем сайт ресторана на OneScript

OneScript v8 Рестораны, кафе и фаст-фуд Абонемент ($m)

В статье изучаются возможности http-сервисов OneScript по созданию web-приложений на примере сайта ресторана

1 стартмани

19.06.2018    15005    17    blackhole321    63    

Сказ про то, как я DevOps-ом занимался (OneScript, Deployka, Jenkins)

OneScript DevOps Jenkins v8 1cv8.cf ИТ-компания Бесплатно (free)

Решаем задачу: автоматизировать обновление тестовых баз 1С из хранилища конфигурации при появлении в нём новых изменений. Данная статья родилась в муках хождения по граблям и поиска безопасного форватора среди подводных камней. Изложение постарался представить в виде инструкции для новичка, в которой собрал всё, с чем пришлось столкнуться. Сам я не DevOps-ер, ни на что не претендую, просто делюсь опытом :)

17.06.2018    20480    0    stas_ganiev    34    

Макеты в http-сервисах OneScript

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

В статье описана библиотека, реализующая механизм макетов в http-сервисах OneScript, аналогично платформе 1С:Предприятие.

03.06.2018    7970    0    blackhole321    1    

Перечисления в http-сервисах OneScript

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

В статье описывается библиотека, реализующая механизм перечислений в http-сервиах OneScript, аналогичный механизму платформы 1С:Предприятие

03.06.2018    7614    0    blackhole321    13    

Обработки в http-сервисах OneScript

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

В статье описана библиотека, реализующая механизм обработок в http-сервисах OneScript.

25.05.2018    7310    0    blackhole321    0    

Расширенные методы загрузки внешних библиотек в http-сервисах OneScript

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

В статье описаны расширенные методы загрузки внешних библиотек в http-сервисах OneScript на примере механизма фоновых заданий.

25.05.2018    7210    0    blackhole321    0    

Сборка, тестирование, доставка приложения на onescript с помощью gitlab-ci

OneScript v8 1cv8.cf Бесплатно (free)

Сборка, тестирование, доставка приложения на onescript с помощью gitlab-ci на примере портирования на onescript функции daСклонение.

14.05.2018    12266    0    pallid    3    

TMSSQL - работа с базами данных MS SQL Server в скриптах на OneScript и из командной строки

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

Представляю вашему вниманию библиотеку TMSQL для работы с базами данных на MS SQL Server. Библиотека подключается в качестве модуля или класса в скрипты, написанные на OneScript, а также может работать как независимое консольное приложение.

26.04.2018    14097    0    Tavalik    22    

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

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

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

23.04.2018    10546    0    blackhole321    10    

Создаем свою библиотеку для OneScript

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

Как упаковать свою библиотеку в пакет? Что такое загрузчик и зачем он нужен? Как вообще создать свою библиотеку? Разбираемся на примере.

06.03.2018    20774    0    nixel    36    

Развертывание http-сервиса (web-приложения) OneScript на Ubuntu Server 16.04

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

В статье описан процесс настройки сервера, а также процесс развертывания http-сервиса (web-приложения) OneScript на Ubuntu Server 16.04

04.03.2018    15006    0    blackhole321    14    

Обзор имеющихся библиотек OneScript

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

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

14.11.2017    40881    0    nixel    86    

Начало работы с OneScript

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

Краткая инструкция по установке и начале работы с OneScript. Пишу потому что сам много шишек набил, пока нашел все инструменты. В статье рассмотрены: 1) Установка OneScript. 2) Установка редактора кода. 3) Настройка редактора кода под OneScript. 4) Запуск скриптов из редактора кода 5) Полезные ссылки

18.10.2017    38974    0    DmitrySinichnikov    53    

С чего начать разработку скриптов на OneScript? Первые шаги

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

После моего доклада на INFOSTART 2017 EVENT COMMUNITY ко мне многие обращались с таким вопросом: с чего начать разработку скриптов на OneScript? В этой статье привожу набор ссылок и некий порядок действий (как его вижу я) для людей, не знакомым с этим инструментом.

11.10.2017    25169    0    Tavalik    14    

Вебинтерфейс для OneScript и 1С

OneScript v8 Россия Бесплатно (free)

Пример создания вебинтерфейса для OneScript с использованием библиотеки UfaScript.osb

30.06.2017    13330    0    andreosh    7    

OneScript и Ajax. POST-запрос и мои дальнейшие планы с фантазиями о будущем

OneScript v8 Россия Бесплатно (free)

Моя библиотека для OneScript (версия 3.0 от 09.06.2017 см.GitHab UfaScript) https://github.com/andreosh/UfaScript теперь позволяет посылать POST-запросы на сервер без использования сторонних библиотек типа jquery.

09.06.2017    17554    0    andreosh    3    

Как сделать OneScript объектно-ориентированным

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

Описание метода создания объектов на OneScript и метода передачи функции в качестве параметра.

16.04.2017    8144    0    andreosh    7