JavaRush /Java Blog /Random-TL /Pangkalahatang-ideya ng mga server ng application at, siy...
eGarmin
Antas

Pangkalahatang-ideya ng mga server ng application at, siyempre, Tomcat

Nai-publish sa grupo
Minamahal na mga Javarashians, ano ang gusto kong isaalang-alang sa artikulong ito? Gusto ko lang gumawa ng maikling pangkalahatang-ideya ng bahaging iyon ng mga server ng application na nararapat pansinin man lang dahil libre sila at available ang kanilang source code. Ipagpalagay ko na ang iyong sistema ay katulad ng sa akin. Mayroon akong Windows 7 64 bits, bilang karagdagan mayroon akong JDK 1.7 at JDK 1.8, at ang variable na kapaligiran ng JAVA_HOME ay tumutukoy sa huli sa kanila. Sa aking kaso, nangangahulugan ito na ang path ng JAVA_HOME ay C:\Program Files\Java\jdk1.8.0_31. Обзор serverов приложений и, конечно же, Tomcat - 1Upang kapag inulit mo ang inilarawan sa ibaba, mayroon kang kaunting mga katanungan hangga't maaari tulad ng "bakit hindi ito gumana para sa akin, baka may ginagawa akong mali?", Susubukan kong ilarawan ang bawat aksyon na ginawa ko sa aking makina. Magsimula…

Casting, i.e. pagpili

Una kailangan naming pumili ng mga server ng application para sa aming pagsusuri. Upang gawin ito, tingnan ang artikulong Wikipedia Paghahambing ng mga server ng aplikasyon (Ingles, dahil wala nang iba). Mayroong isang palatandaan na may isang grupo ng mga server ng application, ngunit ang interes sa amin ay ang mga iyon, sa isang banda, ay open source, at sa kabilang banda, ganap na sumusuporta sa JavaEE, i.e. Ang column ng compatibility ng Java EE sa talahanayang ito ay dapat maglaman ng isang linya ng uri ng Full Platform . Mula sa listahang ito, na naglalaman ng parehong WildFly at JBoss , maaari mong itapon kaagad ang huli, dahil ito ay isang lumang pangalan at lumang bersyon ng WildFly . Bilang resulta, nakukuha namin ang sumusunod na listahan ng mga server na nararapat sa aming pansin:
  1. Glassfish (hindi pagmamay-ari, ngunit ang isa mula sa glassfish.java.net community , ngunit ito ay suportado ng Oracle Corporation sa isang lawak na kung kailangan mo ng javaEE SDK mula sa Oracle website, pagkatapos ay ibibigay nila sa iyo ang server ng application na ito, kung hindi man walang ibang paraan)
  2. (Red Hat) WildFly (dating JBoss)
  3. (Apache) Geronimo
  4. (Apache) Tomcat (ito ay lalagyan lamang ng servlet, hindi isang application server, ngunit ito ang pamantayan kung saan, kung ang programa ay isinulat nang tama, ito ay tiyak na gagana. Sa ibang mga server, ang programa ay maaaring nakasulat nang tama sa mga tuntunin ng JavaEE, ngunit lahat ay gagana, ito ay maaaring mali o hindi sa lahat. Pinag-uusapan ko ang tungkol sa Geronimo, ang mga glitches na maaaring talakayin nang mahabang panahon)
Ngayon palakasin natin ang mga server na ito. Где было можно выбрать между 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. Должно все заработать и мы увидим тигру. TomcatТеперь давайте проверим наличие доступа в админку. Для этого переходим по addressу http://localhost:9713/manager, вводим выбранные логин и пароль и получаем доступ. Админка в TomcatУРА! Можно временно отключить 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 и жмем на нее. Первый вход в GlassFishДалее, попав на красивую построенную на JSF page административной консоли, жмем пункт Change Administrator Password Админка в GlassFishи вводим нужный нам пароль для пользователя admin, потом подтверждаем его и жмем кнопку Save. Смена пароля в GlassFishПри последующих входах в административную консоль нужно будет указывать логин admin и заданный пароль. Вход в админку GlassFish по паролюТеперь можно временно отключить Glassfish, для этого достаточно закрыть консоль, в которой он работает. Для WildFly. Заходим в папку с распакованным wildfly. Далее заходим в папку standalone, потом папка configuration, а в ней файл standalone.xml. Далее действуем по отлаженной схеме. Я поставил порт 9913. Запустим server. Для этого перейдем в папку с распакованным wildfly. Далее заходим в папку bin и запускаем файл standalone.bat. Открываем браузер и вводим address http://localhost:9913. Первый вход в WildFlyЖмем ссылку Administration Console для входа в админскую консоль (проще говоря, админку serverа приложений). Но не тут-то было, т.к. всплывает экран. Первый вход в админку WildFlyЭтот экран сообщает нам, что админ не создан, и чтобы его создать нужно воспользоваться консольной утorтой add-user.bat. Ну, раз надо так надо. Возвращаемся в папку bin и запускаем эту утorту. Вначале предложат выбрать тип пользователя, которого мы хотим создать. Надо выбрать пункт (a), что будет означать, что нам нужен админ. Потом запрашивается Name этого пользователя Username и пароль Password. Пустым пароль быть не может, но односимвольным – пожалуйста. Утorта конечно поругается, но проглотит, если ей ответить yes на вопрос «Вы уверены?». Далее подтверждаем пароль повторным вводом на request Re-enter Password. Потом будут еще вопросы, но на них все просто отвечаем утвердительно и выходим из утorты. Вернувшись на page выше, находим ссылку Try Again и жмем на нее. Теперь, введя данные только что созданного админа, можно попасть в админку. Админка в WildFlyГасим 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 и жмем на нее. GeronimoНадо ввести админские логин и пароль. Сразу подскажу, что это пользователь system с паролем manager (значения по умолчанию). Вход в админку Geronimo по паролюПройдя в саму консоль и проследовав по пунктам меню How на картинке ниже (выбрать радиобатон Advanced, потом выбрать Security > Users and Groups), можно How сменить пароль для пользователя system, так и создать другого админского пользователя, а этого удалить. Смена пароля в GeronimoОстановить server Geronimo можно также простым закрытием окна консоли, в котором server был запущен.

Заключение

В этом обзоре я, по сути, просто провел установку и первоначальную настройку популярных serverов приложений и контейнера сервлетов Tomcat. За исключение Geronimo, остальные serverа были очень дружелюбны ко мне и проявor гостеприимство. В следующем посте я продолжу рассмотрение serverов приложений и сделаю 3-ий шаг на пути рассмотрения веб-сервисов, а именно, покажу How задеплоить описанный на первом шаге веб-сервис в эти serverа. Для этого мы создадим war-архив нашего веб-сервиса, и я наглядно покажу, что набор сторонних jar-ников, которые надо включать в этот архив для корректной работы сервиса, сильно меняется от serverа к serverу.
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION