LINUX.ORG.RU
ФорумAdmin

systemd добавить своё не инсталлированное приложение

 


0

2

Добрый день. Буду рад любым подсказкам.

Есть сервер на котором крутится приложение Wildfly12. Ранее пользовал Centos6.9 и запускал\рестартил\стопил вот таким скриптом:

(под cut спрятать не получается. Скрипт запуска большеват - выложил скрипт: перейти по ссылке )

Теперь пытаюсь поднять все на Centos7.4. Скрипт скопировал с старого сервера в init.d, и само приложение в /opt/.

Приложение стартует так /etc/init.d/wildfly12 start - После старта, скрипт сам не завершается, хотя по логам мне видно что всё приложение поднялось. Ctrl+c - всё я запустился

Приложение стартует и так с ошибкой (и всё работает):

#systemctl start wildfly12.service   
Job for wildfly12.service failed because a timeout was exceeded. See "systemctl status wildfly12.service" and "journalctl -xe" for details.

# journalctl -xe
-- Начат процесс запуска юнита wildfly12.service.
июн 06 14:18:28 preducation-test.osslabs.ru runuser[2775]: pam_unix(runuser:session): session opened for user wildfly by (uid=0)
июн 06 14:18:59 preducation-test.osslabs.ru wildfly12[2760]: Starting wildfly: [  OK  ]
июн 06 14:18:59 preducation-test.osslabs.ru systemd[1]: PID file /var/run/wildfly/wildfly.pid not readable (yet?) after start.
июн 06 14:23:28 preducation-test.osslabs.ru systemd[1]: wildfly12.service start operation timed out. Terminating.
июн 06 14:23:28 preducation-test.osslabs.ru systemd[1]: Failed to start SYSV: WildFly startup script.
-- Subject: Ошибка юнита wildfly12.service
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Произошел сбой юнита wildfly12.service.
-- 
-- Результат: failed.
июн 06 14:23:28 preducation-test.osslabs.ru systemd[1]: Unit wildfly12.service entered failed state.
июн 06 14:23:28 preducation-test.osslabs.ru systemd[1]: wildfly12.service failed.
июн 06 14:23:28 preducation-test.osslabs.ru polkitd[620]: Unregistered Authentication Agent for unix-process:2754:2054320 (system bus name :1.56, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale ru_RU.UTF-8) (disconnected from bus) 

Остановить не могу ни как (только через kill {PID}):

systemctl stop wildfly12.service
/etc/init.d/wildfly12 stop
Stopping wildfly12 (via systemctl):                          OK  

но ни чего не происходит - приложение продолжает работать. В journalctl -xe

июн 06 14:43:46 preducation-test.osslabs.ru polkitd[620]: Registered Authentication Agent for unix-process:3125:2206177 (system bus name :1.58 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale ru_RU.UTF-8)
июн 06 14:43:46 preducation-test.osslabs.ru polkitd[620]: Unregistered Authentication Agent for unix-process:3125:2206177 (system bus name :1.58, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale ru_RU.UTF-8) (disconnected from bus)
Понимаю что в systemd нужно както добавить юнит моего приложения, но как это сделать - не представляю.

 systemctl status wildfly12.service
● wildfly12.service - SYSV: WildFly startup script
   Loaded: loaded (/etc/rc.d/init.d/wildfly12; bad; vendor preset: disabled)
   Active: failed (Result: exit-code) since Ср 2018-06-06 13:11:55 MSK; 1h 0min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2439 ExecStart=/etc/rc.d/init.d/wildfly12 start (code=exited, status=1/FAILURE)
   CGroup: /system.slice/wildfly12.service
           ├─1196 /bin/sh /etc/rc.d/init.d/wildfly12 start
           ├─1201 runuser -s /bin/bash wildfly -c ulimit -S -c 0 >/dev/null 2>&1 ; LAUNCH_JBOSS_IN_BACKGROUND=1 JBOSS_PIDFILE=/var/run/wildfly/wildfly12.pid /opt/wildfly-12.0.0.Final/bin/standalone.sh -c standalone.xml
           ├─1202 bash -c ulimit -S -c 0 >/dev/null 2>&1 ; LAUNCH_JBOSS_IN_BACKGROUND=1 JBOSS_PIDFILE=/var/run/wildfly/wildfly12.pid /opt/wildfly-12.0.0.Final/bin/standalone.sh -c standalone.xml
           ├─1203 /bin/sh /opt/wildfly-12.0.0.Final/bin/standalone.sh -c standalone.xml
           └─1254 /opt/jdk1.8.0_144/jre/bin/java -D[Standalone] -server -Xms1024m -Xmx2048m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=400m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.he...

июн 06 13:11:55 preducation-test.osslabs.ru systemd[1]: Starting SYSV: WildFly startup script...
июн 06 13:11:55 preducation-test.osslabs.ru wildfly12[2439]: Starting wildfly: wildfly is already running[СБОЙ ]
июн 06 13:11:55 preducation-test.osslabs.ru systemd[1]: wildfly12.service: control process exited, code=exited status=1
июн 06 13:11:55 preducation-test.osslabs.ru systemd[1]: Failed to start SYSV: WildFly startup script.
июн 06 13:11:55 preducation-test.osslabs.ru systemd[1]: Unit wildfly12.service entered failed state.
июн 06 13:11:55 preducation-test.osslabs.ru systemd[1]: wildfly12.service failed.

Подскажите пожалуйста, что нужно делать. Как такой вопрос решается по уму?

Большое спасибо за ваше время и внимание.


Как такой вопрос решается по уму?

Переделать скрипт в юнит. От силы полчаса, зато будет читаемо и без костылей. Но придется читнуть документацию.

anonymous ()
Ответ на: комментарий от anonymous

Да... Этого я и боялся

Расковырять скрипт, отначала до конца. Изучить юнит достаточно глубоко, что бы мочь функционал скрипта реализовать в нём. Путь весьма трудоёмкий.

Волшебного клубочка не будет? ))

ishk0 ()
Ответ на: комментарий от anonymous

Нашел инструкцию от производителя:

https://octopus.com/blog/installing-wildfly-from-scratch

Раздел - Installing WildFly as a Linux Service

Хотя сам вопрос решил иначе. Правил скрипт запуска в /etc/init.d/wildfly12 (там проблемы были с путём до pid файла). Далее chkconfig --add wildfly12.

service wildfly12 start - работает.

Спасибо за внимание. Можно закрывать.

ishk0 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.