Как я могу установить WildFly 8.0.0.Final как сервис в Ubuntu Linux?

Я пытаюсь установить сервер приложений WildFly 8.0.0.Final на виртуальную машину под управлением Ubuntu 12.04 LTS. Я провел несколько поисков в Google, но нашел только сторонние скрипты и, думаю, нестандартные способы сделать это.

В настоящее время, чтобы запустить сервер, я открываю SSH-соединение с виртуальной машиной и запускаю следующие команды:

cd <WILDFLY_HOME>/bin
nohup standalone.sh -b=0.0.0.0 -bmanagement=0.0.0.0 > /dev/null &

И остановиться

kill <pid of java process running wildfly>

Но каков наилучший способ установить сервер как сервис в Ubuntu? Если я перезапущу машину, сервер запустится автоматически?

Моя среда:

  • Ubuntu 12.04 LTS;
  • Java 7;
  • WildFly 8.0.0 Final;

4 ответа

Решение

WildFly включает скрипт init.d в папке bin...

Выполните следующие действия:

sudo cp $WILDFLY_HOME/bin/init.d/wildfly-init-debian.sh /etc/init.d/wildfly
sudo cp $WILDFLY_HOME/bin/init.d/wildfly.conf /etc/default/wildfly
sudo adduser --system --group --disabled-login wildfly
sudo chown -R wildfly:wildfly $WILDFLY_HOME
sudo update-rc.d wildfly defaults

Измените /etc/default/wildfly в соответствии с вашими потребностями... Тест.

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

wildfly-8.0.0.Final/bin/init.d/wildfly-init-debian.sh

он создаст скрипт инициализации, поэтому, если вы хотите, чтобы WildFly запускался автоматически, вы должны выполнить команду:

update-rc.d wildfly по умолчанию

после выполнения скрипта wildfly-init-debian.sh

[РЕДАКТИРОВАТЬ]

Принятый ответ устарел, сценарии перенесены в:

Принятый ответ на самом деле технически правильный, так как вопрос касается WildFly 8. Спасибо @JorSol за то, что указал на это!

Тем не менее, я попал сюда во время поиска "установки WildFly 10 как службы в Ubuntu", и я уверен, что другие тоже.

В WildFly 10 расположение init.d файл был перемещен в:

$WILDFLY_HOME/docs/contrib/scripts/inid.d

Я бы изменил предыдущий ответ от JorSol на

sudo cp $WILDFLY_HOME/bin/init.d/wildfly-init-debian.sh /etc/init.d/wildfly

потому что его команда создаст эксплойт безопасности, если кто-то сможет получить разрешения wildfly и изменить $WILDFLY_HOME/bin/init.d/wildfly-init-debian.sh,

Другие вопросы по тегам