Это старая версия документа.
Содержание
Запуск и wrapper
На текущий момент есть три способа запуска:
- java, без помощи сторонних программ, только как приложение
Для запуска приложения jroboplc в качестве сервиса используется два варианта с применением сторонних программ:
- Tanuki Java Service Wrapper (рекоммендуемый для, всех систем, кроме Windows с Java x64)
- YAJSW (альтернативный, для всех систем)
Запуск через java
Пример строки запуска:
java -jar jar/core/jroboplc.jar -cfg cfg/wessvr -cmd "ansi on|start"
Запуск через wrapper tanuki
Скачивание и установка
- Скачать дистрибутив https://wrapper.tanukisoftware.com/doc/english/download.jsp#stable (выбрать Delta Pack, Community). Если нет доступа к сайту, использовать любой online proxy (пример).
- Распаковать в jroboplc/wrapper и переименовать распакованную папку в wrapper-delta-pack, убрав из имени номер версии.
- Обновить скрипты запуска (см. далее).
Конфигурационный файл
В каталоге jroboplc/wrapper-conf
находятся конфигурационные файлы раздельно для linux и windows:
- wrapper.lin.conf
- wrapper.win.conf
Наиболее важные параметры этих файлов:
# для linux set.JAVA_HOME=/usr/lib/jvm/java-8-oracle wrapper.java.command=%JAVA_HOME%/bin/java # для windows wrapper.java.command=java # при этом java и javac должны быть в PATH системы # для linux и windows wrapper.java.classpath.1=../lib/wrapper.jar wrapper.java.classpath.2=../../../jar/core/jroboplc.jar wrapper.java.library.path.1=../lib wrapper.app.parameter.1=promauto.jroboplc.core.JRoboPLC wrapper.app.parameter.2=-plg wrapper.app.parameter.3=../../../jar/plugin wrapper.app.parameter.4=-cfg wrapper.app.parameter.5=../../../conf wrapper.app.parameter.6=-cmd wrapper.app.parameter.7="ansi off|start" wrapper.logfile=../../../log/wrapper wrapper.console.title=JRoboPLC # для windows wrapper.name=jroboplc wrapper.displayname=jroboplc wrapper.description=jroboplc wrapper.ntservice.starttype=DEMAND_START # либо AUTO_START, DELAY_START # опционально wrapper.disable_forced_shutdown=TRUE
Исходные файл конфигурации находится в архиве wrapper'а:
src/conf/wrapper.conf.in
Внимание! От версии к версии производитель wrapper'а меняет названия параметов, поэтому могут быть несовпадения.
Обновление скриптов запуска в Linux
- Скопировать файл jroboplc/wrapper/wrapper-delta-pack/src/bin/App.sh.in в jroboplc/ctl.lin с переименованием в jroboplc.
- Отредактировать скопированный файл, установив следующие параметры:
APP_NAME="jroboplc" APP_LONG_NAME="jroboplc" WRAPPER_CMD="../wrapper/wrapper-delta-pack/bin/wrapper" WRAPPER_CONF="../wrapper/wrapper-conf/wrapper.lin.conf" PIDDIR="/run"
- Для изменения имени сервиса (если на одной машине планируется несколько инсталляций) использовать параметры APP_NAME и APP_LONG_NAME.
Обновление скриптов запуска в Windows
- Скопировать файл jroboplc/wrapper/wrapper-delta-pack/src/bin/App.bat.in в jroboplc/ctl.win с переименованием в jroboplc.bat.
- Отредактировать скопированный файл, установив следующие параметры:
set _WRAPPER_BASE=wrapper set _WRAPPER_DIR=..\wrapper\wrapper-delta-pack\bin set _WRAPPER_CONF_DEFAULT="..\..\..\wrapper\wrapper-conf\wrapper.win.conf" set _PASS_THROUGH=app_args
- Для изменения имени сервиса (если на одной машине планируется несколько инсталляций) использовать параметры в файле jroboplc/wrapper/wrapper-conf/wrapper.win.conf:
wrapper.name=jroboplc wrapper.displayname=jroboplc wrapper.description=jroboplc
Управление
В каталоге jroboplc/ctl.win
находятся необходимые скрипты для управления сервисом в windows:
_console.bat _install.bat _remove.bat _start.bat _status.bat _stop.bat
Для linux - в jroboplc/ctl.lin
:
_console _install _remove _restart _start _status _stop
Установка сертификатов в windows
Иногда при запуске под windows происходит примерно следующее:
wrapper | A signature was found in "C:\wrapper-windows-x86-32-3.5.7-pro\bin\wra pper.exe", but checksum failed: (Errorcode: 0x800b010a) A certificate chain could not be built to a trusted root authority. (0x800b010a) wrapper | Signer Certificate: wrapper | Serial Number: wrapper | 00 97 06 fe b5 6e 56 cc cb 66 3a bb 55 a7 a0 e4 76 wrapper | Issuer Name: UTN-USERFirst-Object wrapper | Subject Name: Tanuki Software Ltd. wrapper | TimeStamp Certificate: wrapper | Serial Number: wrapper | 47 8a 8e fb 59 e1 d8 3f 0c e1 42 d2 a2 87 07 be wrapper | Issuer Name: UTN-USERFirst-Object wrapper | Subject Name: COMODO Time Stamping Signer wrapper | Date of TimeStamp : 2010/12/19 22:32 wrapper | The Wrapper will shutdown!
Решение проблемы заключается в установке недостающих/просроченных сертификатов, и описано здесь: https://wrapper.tanukisoftware.com/doc/english/troubleshooting.html#9
Если доступ на сайт отсутствует, то использовать online proxy. Копия страницы troubleshooting здесь: http://prom-auto.ru/doc/wrapper/troubleshooting.html
Сертификаты можно скачать здесь: http://prom-auto.ru/download/?dir=dist/wrapper/cert
Запуск через wrapper YAJSW
YAJSW (Yet Another Java Service Wrapper)
Скачивание и установка:
- Скачать дистрибутив последней версии https://sourceforge.net/projects/yajsw/files/yajsw/
- Распаковать в jroboplc/wrapper и переименовать распакованную папку в jroboplc/wrapper/yajsw
- Обновить скрипт запуска (см. далее)
Обновление скриптов запуска:
- Скопировать файл jroboplc/wrapper/yajsw-conf/wrapper.conf в jroboplc/wrapper/yajsw/conf. Дальнейшие изменения в конфигурации производить в jroboplc/wrapper/yajsw/conf/wrapper.conf
- Для изменения имени сервиса (если на одной машине планируется несколько инсталляций) использовать параметр appname
- Для изменения способа запуска сервиса использовать параметр starttype
Для работы yajsw требуется, чтобы команда java выполнялась из любого каталога на любом уровне для всех пользователей. Вариант осуществления: - в windows: добавить javaBin в path системы - в linux: добавить ссылки на java и javac в /usr/bin
Управление: 1. В каталогах jroboplc/wrapper/yajsw/bat находятся необходимые скрипты для управления сервисом в windows 2. Для linux - jroboplc/wrapper/yajsw/bin