Проект

Общее

Профиль

Инструкция по запуску сервиса Android на LINUX с использованием SUPERVISOR

Настройки JAVA

Первое, что необходимо проверитm, путь до java

 which java 

Создаем и устанавливаем новую в папку ( версия jdk-11.0.14)

 mkdir /usr/lib/jvm/jdk-11.0.14 

Разархивируем java в папку где:

/home/oracle/Downloads/jdk-11.0.14_linux-x64_bin.tar.gz - путь до архива(любой ваш)
/usr/lib/jvm/ - путь куда разархивируем

 tar -xf /home/oracle/Downloads/jdk-11.0.14_linux-x64_bin.tar.gz -C /usr/lib/jvm 

Проверяем что там она есть

 ls -la /usr/lib/jvm/jdk-11.0.14 

Устанавливаем алтернативную версию JAVA, выполняя скрипты по очереди

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk-11.0.14/bin/java" 0 

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk-11.0.14/bin/javac" 0 

sudo update-alternatives --set java /usr/lib/jvm/jdk-11.0.14/bin/java 

sudo update-alternatives --set javac /usr/lib/jvm/jdk-11.0.14/bin/javac 

Прописываем пути в environment соблюдаем правильность путей до версии java (jdk-11.0.14)

Открываем его

nano /etc/environment 

Прописываем туда

:/usr/lib/jvm/jdk-11.0.14/bin:/usr/lib/jvm/jdk-11.0.14/db/bin:/usr/lib/jvm/jdk-11.0.14/jre/bin
J2SDKDIR="/usr/lib/jvm/jdk-11.0.14" 
J2REDIR="/usr/lib/jvm/jdk-11.0.14/jre" 
JAVA_HOME="/usr/lib/jvm/jdk-11.0.14" 
DERBY_HOME="/usr/lib/jvm/jdk-11.0.14/db"

После необходимо сделать перезапуск окружения

exec $SHELL

Проверяем какая верся java теперь является по умолчанию

java -version

В нашем случае будет следующий ответ

java version "11.0.14" 2022-01-18 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.14+8-LTS-263)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.14+8-LTS-263, mixed mode)

h3. Подготовка сервера-андройд

Создаем папку под файлы сервиса

mkdir -p /opt/mcis/data

В папку /opt/mcis положить mcis-mobile-service_0.0.10-WOL.jar (джарник сервера-андройд)
В папку /opt/mcis/data полоджить client_keystore.p12 (лицензии)

Переходим в папку с JAR'ником

cd /opt/mcis

И проверяем на запуск наш сервис
(Заполнив параметры без "")

java \
        -jar mcis-mobile-service_0.0.10-WOL.jar \
        --spring.datasource.url=jdbc:oracle:thin:@"IPбазы данных":"порт базы данных":"имя инстанса" \
        --spring.datasource.username="название схемы" \
        --spring.datasource.password="пароль схемы" \
        --server.port="порт на котором будет работать андройд-сервер" \
        --app.session.timeout=900000 \
        --app.session.max-sessions="Кол-во мобильных лицензий клиента" \
        --app.session.exit=3000000

Должно ответить что запустилось на порту указанном в конфиге

o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): Указанный порт андройд-сервера       

h4. SUPERVISORD

Создаем папку конфигов

mkdir -p /etc/supervisor/conf.d

Редактируем файл конфига

nano /etc/supervisord.conf

В самом конце раздел с ссылкой на файлы конфига

[include]
files = /etc/supervisor/conf.d/*.conf

Создаем свой конфиг

nano /etc/supervisor/conf.d/wms.conf

Туда пишем следующее

[program:android]
# Рабочая папка
directory=/opt/mcis

#Пути до java если их несколько, и java не ниже 11

environment=PATH="/opt/mcis/:/usr/lib/jvm/jdk-11.0.14/bin/",JAVA_HOME="/usr/lib/jvm/jdk-11.0.14" 

#Команда запуска 
#Если многострочная, то вторая и далее строка начинается с TAB
#Заполнить параметры без "" 
command=java
        -jar mcis-mobile-service_0.0.10-WOL.jar
        --spring.datasource.url=jdbc:oracle:thin:@"IPбазы данных":"порт базы данных":"имя инстанса" 
        --spring.datasource.username="название схемы" 
        --spring.datasource.password="пароль схемы" 
        --server.port="порт на котором будет работать андройд-сервер" 
        --app.session.timeout=900000
        --app.session.max-sessions=5
        --app.session.exit=3000000
#Файлы логов        
stdout_logfile=/opt/mcis/andr.out.log
stderr_logfile=/opt/mcis/andr.err.log
stdout_logfile_maxbytes=5MB
autostart=true
autorestart=true
stopsignal=KILL

Перечитать конфигурацию для применения изменений

supervisorctl reread

Перезапустить конфигурацию

supervisorctl update

Проверить статус

supervisorctl status

Проверить что в логе нет ошибок

tail -f -n 190 /opt/mcis/andr.out.log

[Ссылка на файлы](https://rm.cwms3000.ru/projects/cwms3000/wiki/Oracle)

Экспортировать в PDF HTML TXT