Highlighter

четверг, 19 января 2012 г.

Установка JBOSS AS 7 + ajp

Сначала тут должен был быть большой пост с пошаговыми инструкциями, но потом я понял, что если кто-то устанавливает jboss, то он всякие базовые вещи знает и понимает. Поэтому только то, что реально пришлось сделать.

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

Я поднял контейнер openvz, выделил ему 2 гига ОЗУ и запустил.

Вот, что я ставил:
Debian 6
Apache 2.2.16(from debian repositories)
mod_jk 1.2.30 (from debian repositories)
JDK 1.6.0_26 (from debian repositories)
JBoss AS 7.0.2.Final
OpenAM 9.54


Настройка:
Сразу отмечу, что JBoss я ставил впервые и с ajp пришлось неслабо повозиться. Особенно "приятно", что он отличается от предыдущих версий в качестве настройки и управления, поэтому его я сразу очень полюбил за бурный секс.


Сначала настроим apache.
/etc/apache2/sites-enabled/000-default
<VirtualHost *:80>
        JkMount /* myworker
        ServerAdmin liparinai@gmail.com
        ErrorLog ${APACHE_LOG_DIR}/error.log
        LogLevel debug
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost> 

 /etc/apache2/mods-available/jk.conf
<IfModule mod_jk.c>
# The Jk shared mem location
JkShmFile /var/log/apache2/mod_jk.shm

# Jk logs
JkLogFile /var/log/apache2/mod_jk.log

# Jk loglevel
JkLogLevel error

# Jk logformat
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

# Our workers config
JkWorkersFile /etc/apache2/workers.conf
</IfModule>
 /etc/apache2/workers.conf
worker.list=myworker
worker.myworker.port=8009
worker.myworker.host=127.0.0.1
worker.myworker.type=ajp13
worker.myworker.lbfactor=1
Теперь делаем.
a2enmod jk

и перезапускаем апач.

Теперь настраиваем JBoss.
Установка элементарна - тупо распаковываем, например, в /opt/java. Для удобства, я сделал ссылку на эту папку в /opt/java/jboss

Теперь настройка. Эти вещи слабо гуглятся, в официальных доках с этим проблема.

/opt/java/jboss/standalone/configuration/standalone.xml
(Modifications marked with bold font)

<server name="temporary.ru" xmlns="urn:jboss:domain:1.0">
    <extensions>
            ... skipped ...
    </extensions>

    <system-properties>
        <property name="jvmRoute" value="myworker"/>
    </system-properties>

    ... skipped ...

        <subsystem xmlns="urn:jboss:domain:web:1.0" default-virtual-server="default-host">
            <connector name="http" protocol="HTTP/1.1" socket-binding="http" scheme="http"/>
            <connector name="ajp" protocol="AJP/1.3" socket-binding="ajp" scheme="http"/>
     ... skipped ...
         <socket-binding-group name="standard-sockets" default-interface="public">
                <socket-binding name="http" port="8080"/>
                <socket-binding name="ajp" port="8009"/>
                 <socket-binding name="https" port="8443"/>
... skipped ...

В частности, проблема с jvmRoute, который (по идее) должен был сам подхватиться. Спасибо Sirex'у за то, что дал хороший совет.

Затем можно запускать.
/opt/java/jboss/bin/standalone.sh &.

По-хорошему нужно создать пользователя, сделать его владельцем jboss и от его имени запускать.

Теперь можно задеплоить OpenAM. Читаем руководство, делаем что написано и кидаем в папку /opt/java/jboss/standalone/deployments.

Если нужно, можно настроит балансировку нагрузки и jboss не светит в интернет.

Комментариев нет:

Отправить комментарий