Установка web-сервиса

Вариант без использования nginx в качестве https web-прокси и балансировщика нагрузки (только для использования в локальной сети).

  • Создать виртуальную машину (8Gb RAM, 128 Gb HDD) и установить на нее Windows Server 2019 Standard. Все дальнейшие действия выполняем от имени windows- пользователя Администратор.
  • Присвоить ей фиксированный внутренний IP
  • Выбрать порт, по которому кассы будут отправлять http запросы для мониторинга (например 8089). Открыть этот порт в firewall (протокол tcp).
  • Развернуть проект Домино со следующей структурой каталогов

image-1769511564265.png

  • Создать в каталоге BIN файл tnsnames.ora для доступа к БД Домино

IS =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = <IP сервера oracle>)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

  • Запустить Домино проект RETAIL-NET обычным образом. Указать параметры учетной записи, получить сертификат. Создать пользователя Домино, от имени которого web-сервис будет работать с базой данных. Например CashStateWebService. Обязательно установить этому пользователю пароль.
  • Создать файл RestartWebServices.bat, подставив туда ip-адрес и выбранный порт web-сервера (8089), ссылку на запись tnsnames.ora (IS) и имя схемы с БД Домино (IS$T0#), имя (CashStateWebService) и пароль пользователя Домино

curl http://<IP web-сервера>:8089/stop?id=89

rd /S /Q C:\Domino\CashStateWebService\LOG

start C:\Domino\CashStateWebService\Bin\domino8.exe C:\Domino\CashStateWebService\Project\RETAIL-NET /SERVER LISTEN=http://<IP web-сервера>:8089/ DBSERVER=IS SCHEME="IS$T0#" USERNAME="CashStateWebService" USERPWD="Пароль пользователя CashStateWebService" TOKEN=89 LOG=LOG\CashState\8089

  • Создать файл StopWebServices.bat, подставив туда ip-адрес и выбранный порт web-сервера (8089)

curl <IP web-сервера>:8089/stop?id=89

  • Запустить RestartWebServices.bat, убедиться по файлу C:\Domino\CashStateWebService\Log\CashState\8089\Alert_RETAIL-NET.log, что web-сервер стартовал без ошибок и прослушивает нужный адрес и порт.
  • Создать задание планировщика windows для автоматического запуска сервиса при старте windows. Параметры задания на скриншотах ниже

image-1769511607606.png

image-1769511625547.png

image-1769511639973.png

image-1769511654131.png

image-1769511665803.png

  • Перезапустить виртуальную машину, дождаться запуска ОС, убедиться по файлу C:\Domino\CashStateWebService\Log\CashState\8089\Alert_RETAIL-NET.log, что web-сервер стартовал без ошибок и прослушивает нужный адрес и порт.
  • Проверить доступность web-сервиса с другой машины локальной сети, выполнив web-запрос:
curl http://<IP web-сервера>:8089/

Ответом будет:

<?xml version="1.0" encoding="utf-8"?><response><cmd/><result><code>-1</code><msg>Неизвестная команда</msg></result></response>