Автоматический запуск веб-сервиса в RedHat

Мне нужно автоматически запустить веб-службу на сервере RedHat. Веб-служба работает и может быть загружена вручную через NetBeans.

Попытка сделать так, чтобы пользователю нужно было выполнить только одну командную строку или что-то подобное, чтобы запустить ее.

Начал с установки и запуска сервера GlassFish (используется http://blogs.oracle.com/foo/entry/run_glassfish_v3_as_a в основном, с некоторым вкладом из других источников)

Это привело к тому, что я сделал следующее;

-Добавлен новый пользователь

groupadd glassfish

useradd -s /bin/bash -d /home/glassfish -m -g glassfish glassfish 

-Вошел в систему как указанный пользователь

sudo -i -u glassfish 

-Установлена ​​стеклянная рыбка

cd ~

unzip glassfish-v3.zip

rm glassfish-v3.zip

-Оставил оболочку

-Скопировал скрипт в /etc/init.d и настроил его как исполняемый файл

cp <script file as shown below> /etc/init.d/glassfish 

chmod +x /etc/rc.d/init.d/glassfish

* СЦЕНАРИЙ *


#!/bin/sh
# Platform Services for GlassFish
#
GF_USER=glassfish
GF_HOME=/home/$GF_USER/glassfishv3/glassfish
ASADMIN=$GF_HOME/bin/asadmin
SU="su --login  $GF_USER --command  "

case "$1" in start)
    $SU "$ASADMIN start-domain > /dev/null 2>&1 &";;stop)
    $SU "$ASADMIN stop-domain > /dev/null 2>&1 &";;restart)
    $SU "$ASADMIN restart-domain > /dev/null 2>&1 &";;\*)
    echo "usage: $0 (start|stop|restart|help)"esac

Можно запускать/останавливать/перезапускать с; sudo /etc/init.d/glassfish start|stop|restart

Проблема, как мне кажется, в том, что Glassfish работает, а мой маленький веб-сервис Java — нет. Я не удивлен, что веб-служба Java не работает, поскольку я никогда не включал ее в приведенное выше, но как мне настроить ее так, чтобы моя веб-служба работала?


Я пришел сегодня утром и понял, что мне нужно развернуть java-клиент. Я сделал это, следуя инструкциям из

http://download.oracle.com/docs/cd/E19798-01/821-1757/geyvr/index.html

Для автоматического развертывания приложений.

Но теперь, используя этот метод, мой веб-клиент Windows не может общаться с моим хостом RedHat, но они совершенно счастливы, когда запускаются вручную.

Единственная разница, о которой я могу думать, заключается в том, что пользователь на машине Redhat при ручном запуске служб является «root» (что немного опасно для веб-приложения). Но при автоматическом запуске клиента он запускается как пользователь... Конечно, это может быть полным отвлекающим маневром....

Есть идеи, ребята?


person Andy    schedule 17.05.2011    source источник


Ответы (2)


Разверните веб-службу как приложение в Глассфиш.

person matt b    schedule 17.05.2011
comment
Я следовал инструкциям по вашей ссылке (кстати, очень полезной, спасибо!), поскольку я понял это, когда посмотрел на нее сегодня утром. Однако мое клиентское приложение (на компьютере с Windows) не может общаться с хостом на компьютере RedHat. Однако они счастливо разговаривают, когда запускаются вручную ... Это связано с использованием другого пользователя для веб-клиента на Redhat? (При запуске вручную это пользователь root, а не обычный пользователь) - person Andy; 18.05.2011

Если предположить, что у вас есть военный файл для вашего веб-сервиса, то развертывание должно быть таким же простым, как копирование военного файла в каталог webapps Glassfish.

person MarcoS    schedule 17.05.2011