Gadyrly Javaraşalylar, bu makalada näme hakda pikir etmek isleýärin? Iň bärkisi mugt we deslapky kody elýeterli bolany üçin üns berilmeli programma serwerleriniň şol bölegi barada gysgaça syn bermek isleýärin. Ulgamyňyz meniňki ýalydyr öýdýärin. Mende Windows 7 64 bit bar, üstesine-de JDK 1.7 we JDK 1.8 bar,
JAVA_HOME gurşaw üýtgeýjisi olaryň ikinjisine degişlidir. Meniň ýagdaýymda, bu
JAVA_HOME ýolunyň
C: \ Program Faýllar \ Java \ jdk1.8.0_31 bolandygyny aňladýar. Aşakda beýan edilenleri gaýtalasaňyz, “näme üçin bu maňa peýdasy degmedi, belki nädogry bir zat edendirin?” Questionsaly soraglaryňyz mümkin boldugyça az bolar, men eden her bir işimi suratlandyrmaga synanyşaryn. maşyn. Başla…
Kasting, ýagny saýlamak
Ilki bilen gözden geçirmek üçin programma serwerlerini saýlamaly. Munuň üçin Wikipediýa makalasyna
serwerleriň deňeşdirilişine serediň (Iňlis, sebäbi başga biri ýok). Bir topar programma serwerleri bilen bir bellik bar, ýöne bizi gyzyklandyrýan zat, diňe bir tarapdan açyk çeşme, beýleki tarapdan JavaEE-ni doly goldaýanlar.
Bu tablisadaky Java EE utgaşyk sütüninde
doly platforma görnüşi bolmaly .
“WildFly” we
“JBoss” -y öz içine alýan bu sanawdan derrew ikinjisini taşlap bilersiňiz, sebäbi bu diňe
WildFly-nyň köne ady we köne wersiýalary . Netijede, ünsümize mynasyp serwerleriň aşakdaky sanawyny alýarys:
- Glassfish (eýeçilik däl, ýöne glassfish.java.net jemgyýetinden , ýöne Oracle Corporation tarapyndan goldanýan derejede, Oracle web sahypasyndan javaEE SDK gerek bolsa, size bu programma serwerini bererler, ýogsam başga ýol ýok)
- (Red Hat) WildFly (öňki JBoss)
- (Apaçi) Geronimo
- . _ JavaEE, ýöne hemme zat işlär ýa-da nädogry bolar ýa-da asla bolmaz. Men Geronimo hakda aýdýaryn, bu hakda uzak wagtlap pikir alyşyp bolar)
Indi bu serwerleri göreliň.
Где было можно выбрать между 32-х и 64-хбитными versionми, я выбирал архивчик под мою систему в 64 бита.
Установка
В плане установки все просто и для каждого из выбранных serverов установка – это просто распаковка архива. Я, например, создал папку AppServers на рабочем столе, куда и стал всё распаковывать.
Настройка
Настройку serverов начнем с настройки порта HTTP, на котором он будет работать. Потом пропишем себя How админа serverа. Для каждого из serverов есть свои особенности настройки.
Для Tomcat. Заходим в папку с распакованным tomcat, далее папка
conf, файл
server.xml. We find в этом файле число
8080 (http порт по умолчанию) и меняем его на что захотим. Я поставил
9713. Whatбы прописать себя How админа serverа нужно, находясь в этой же папке, открыть файл
tomcat-users.xml. В нем перед закрывающим тегом
</tomcat-users> прописать следующий тег
<user username="egarmin" password="1" roles="manager-gui,manager-script,manager-status,manager-jmx"/> где в своей роли я прописал максимальное количество всяких админских прав (ролей). Это позволит мне деплоить applications и через gui, и через удаленное подключение. Теперь запустим tomcat. Заходим в папку с распакованным tomcat, далее папка
bin и запускаем файл
startup.bat. Переходим в браузере по addressу
http://localhost:9713. Должно все заработать и мы увидим тигру.
Теперь давайте проверим наличие доступа в админку. Для этого переходим по addressу
http://localhost:9713/manager, вводим выбранные логин и пароль и получаем доступ.
УРА! Можно временно отключить Tomcat, для этого достаточно закрыть консоль, в которой он работает.
Для Glassfish. Заходим в папку с распакованным
glassfish, далее в подпапку
glassfish, далее подпапка
domains, потом в папку
domain1. Заходим в папку
config и находим файл
domain.xml. Там также ищем число
8080 (это число вообще характерно в качестве http-порта по умолчанию для serverов приложений и контейнеров сервлетов) и меняем его на что захотим. Я поставил
9813. Запустим glassfish. Заходим в папку с распакованным glassfish, далее в подпапку
glassfish, потом в папку
bin. Запускаем файл
startserv.bat. В браузере вводим address
http://localhost:9813. На появившейся некрасивой странице с заголовком
GlassFish Server находим ссылку
go to the Administration Console и жмем на нее.
Далее, попав на красивую построенную на JSF page административной консоли, жмем пункт
Change Administrator Password и вводим нужный нам пароль для пользователя
admin, потом подтверждаем его и жмем кнопку
Save.
При последующих входах в административную консоль нужно будет указывать логин
admin и заданный пароль.
Теперь можно временно отключить
Glassfish, для этого достаточно закрыть консоль, в которой он работает.
Для WildFly. Заходим в папку с распакованным
wildfly. Далее заходим в папку
standalone, потом папка
configuration, а в ней файл
standalone.xml. Далее действуем по отлаженной схеме. Я поставил порт
9913. Запустим server. Для этого перейдем в папку с распакованным
wildfly. Далее заходим в папку
bin и запускаем файл
standalone.bat. Открываем браузер и вводим address
http://localhost:9913.
Жмем ссылку
Administration Console для входа в админскую консоль (проще говоря, админку serverа приложений). Но не тут-то было, т.к. всплывает экран.
Этот экран сообщает нам, что админ не создан, и чтобы его создать нужно воспользоваться консольной утorтой
add-user.bat. Ну, раз надо так надо. Возвращаемся в папку
bin и запускаем эту утorту. Вначале предложат выбрать тип пользователя, которого мы хотим создать. Надо выбрать пункт
(a), что будет означать, что нам нужен админ. Потом запрашивается Name этого пользователя
Username и пароль
Password. Пустым пароль быть не может, но односимвольным – пожалуйста. Утorта конечно поругается, но проглотит, если ей ответить yes на вопрос «Вы уверены?». Далее подтверждаем пароль повторным вводом на request
Re-enter Password. Потом будут еще вопросы, но на них все просто отвечаем утвердительно и выходим из утorты. Вернувшись на page выше, находим ссылку
Try Again и жмем на нее. Теперь, введя данные только что созданного админа, можно попасть в админку.
Гасим server, закрыв окно консоли, через которую он был запущен.
Для Geronimo. Заходим в папку с распакованным
geronimo. Далее в подпапку
var, потом в папку
config, а в ней файл
config-substitutions.properties. В этом файле описаны все используемые serverом приложений порты в удобном формате, но схема замены порта та же. Я поставил порт
10013. Запустим server
geronimo. Перейдем в папку с распакованным
geronimo, потом в подпапку
bin и запустим там файл
startup.bat. Переходим на page
http://localhost:10013. Whatбы вы думали? Скорее всего, pages там не будет. Почему? Все дело в том, последняя version Geronimo (3.0) не может работать с последней версией JDK (1.8), поэтому если у вас стоит только она or пусть даже есть, скажем, 7-ая version, но переменная окружения JAVA_HOME все равно ссылается именно на 8-ую, How у меня, то запуск serverа приложений не произойдет. Таким образом, для работы Geronimo нужно обязательно скачать JDK 1.7. Теперь допустим вы поставor 7-ой JDK, но не хотите менять meaning переменной JAVA_HOME (в конце-то концов, другие программы на нее не жалуются, а значит пусть и работают с последней версией JDK). What делать? Я советую открыть файл
setjavaenv.bat, расположенный в той же папке
bin, и найти в нем строку с меткой
:okJdkFileCheck. После чего на следующей же строке добавьте переопределение переменной окружения. Например, так:
set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_75Этой строки там нет, так что будьте добры прописать ее самостоятельно. Если у вас 32-битная система, то больше проблем быть не должно. Более того, если у вас 64-битная система и вы поставor JDK 1.7 именно в 64-bit комплектации, то у вас тоже все в шоколаде. А теперь представим, что мы решor извратиться и поставить на 64-х битную систему (у меня, например, Windows 7 64) JDK 1.7 из линейки в 32-ва бита. What тогда? Тогда придется еще повозиться, потому How в 64-bit системе есть две папки для установки программ:
Program Files и
Program Files (x86) и если ничего не менять, то 32-хбитный JDK встанет именно в последнюю. What в этом страшного? Да вроде ничего, однако, если переменная JAVA_HOME будет иметь в своем пути скобки (x86), то у Geronimo случается несварение. Почему? Черт его знает, особенно если учесть, что согласно данным с форумов, эту ошибку в 3-ей версии
Geronimo должны были исправить. Но ни фига подобного. Главное в этом деле не делать пи-пи, если индейцы не исправor, то мы поправим. Для этого есть два способа, которые я предпочитаю комбинировать, чтобы уж наверняка. Во-первых, опять идем а файл
setjavaenv.bat и находим уже упомянутую метку
:okJdkFileCheck. Под этой меткой есть строка
if "%JRE_HOME%" == "" if exist "%JAVA_HOME%\bin\javac.exe" (set JRE_HOME=%JAVA_HOME%\jre) else set JRE_HOME=%JAVA_HOME% в которой для излечения Geronimo достаточно будет взять подстроку JRE_HOME=%JAVA_HOME%\jre в кавычки, т.е. заменить всю строку на
if "%JRE_HOME%" == "" if exist "%JAVA_HOME%\bin\javac.exe" (set "JRE_HOME=%JAVA_HOME%\jre") else set JRE_HOME=%JAVA_HOME%. Кроме того, помните or знайте, что у папок типа Program Files в системе Windows 7 есть синонимы (например, для папки
C:\Program Files (x86) синонимом будет папка
C:\Progra~2). Поэтому если вы в файле
setjavaenv.bat после метки
:okJdkFileCheck установите следующее meaning переменной
JAVA_HOME set JAVA_HOME=C:\Progra~2\Java\jdk1.7.0_75 то у вас тоже заработает server
Geronimo под управление 32-х битного JDK в 64-х bit операционной системе. Как-то так… Ну, наконец-то, можно и запускать
Geronimo, вызвав
startup.bat. Теперь проблем быть не должно. Переходим в браузере на page
http://localhost:10013. Слева вверху находим ссылку
Console и жмем на нее.
Надо ввести админские логин и пароль. Сразу подскажу, что это пользователь
system с паролем
manager (значения по умолчанию).
Пройдя в саму консоль и проследовав по пунктам меню How на картинке ниже (выбрать радиобатон
Advanced, потом выбрать
Security > Users and Groups), можно How сменить пароль для пользователя
system, так и создать другого админского пользователя, а этого удалить.
Остановить server
Geronimo можно также простым закрытием окна консоли, в котором server был запущен.
Заключение
В этом обзоре я, по сути, просто провел установку и первоначальную настройку популярных serverов приложений и контейнера сервлетов Tomcat. За исключение Geronimo, остальные serverа были очень дружелюбны ко мне и проявor гостеприимство. В следующем посте я продолжу рассмотрение serverов приложений и сделаю 3-ий шаг на пути рассмотрения веб-сервисов, а именно, покажу How задеплоить описанный
на первом шаге веб-сервис в эти serverа. Для этого мы создадим war-архив нашего веб-сервиса, и я наглядно покажу, что набор сторонних jar-ников, которые надо включать в этот архив для корректной работы сервиса, сильно меняется от serverа к serverу.
GO TO FULL VERSION