JavaRush /Blog Java /Random-PL /Przegląd serwerów aplikacji i oczywiście Tomcat
eGarmin
Poziom 41

Przegląd serwerów aplikacji i oczywiście Tomcat

Opublikowano w grupie Random-PL
Drodzy Javarashianie, co chcę rozważyć w tym artykule? Chcę tylko dokonać krótkiego przeglądu tej części serwerów aplikacji, która zasługuje na uwagę choćby dlatego, że jest darmowa i dostępny jest ich kod źródłowy. Zakładam, że Twój system jest podobny do mojego. Mam Windows 7 64 bity, dodatkowo mam JDK 1.7 i JDK 1.8, a zmienna środowiskowa JAVA_HOME odnosi się do tego ostatniego z nich. W moim przypadku oznacza to, że ścieżka JAVA_HOME to C:\Program Files\Java\jdk1.8.0_31. Przegląd serwerów aplikacji i oczywiście Tomcat - 1Aby powtarzając to, co opisano poniżej, mieć jak najmniej pytań typu „dlaczego u mnie nie zadziałało, może coś robię źle?”, postaram się opisać każdą czynność, którą wykonałem na swoim maszyna. Zaczynać…

Casting, tj. wybór

Najpierw musimy wybrać serwery aplikacji do naszej recenzji. Aby to zrobić, spójrz na artykuł na Wikipedii Porównanie serwerów aplikacji (po angielsku, bo innego nie ma). Jest tam tabliczka z mnóstwem serwerów aplikacji, ale nas interesują tylko te, które z jednej strony są open source, a z drugiej w pełni obsługują JavaEE, tj. Kolumna dotycząca zgodności Java EE w tej tabeli musi zawierać wiersz typu Pełna platforma . Z tej listy, która zawiera zarówno WildFly, jak i JBoss , możesz od razu wyrzucić ten drugi, ponieważ to tylko stara nazwa i stare wersje WildFly . W rezultacie otrzymujemy następującą listę serwerów, które zasługują na naszą uwagę:
  1. Glassfish (nie zastrzeżony, ale ten ze społeczności glassfish.java.net , ale który jest wspierany przez Oracle Corporation do tego stopnia, że ​​jeśli potrzebujesz SDK javaEE ze strony Oracle, to dadzą ci ten serwer aplikacji, w przeciwnym razie nie ma innego wyjścia)
  2. (Red Hat) WildFly (dawniej JBoss)
  3. (Apacz) Geronimo
  4. (Apache) Tomcat (to tylko kontener serwletów, nie serwer aplikacji, ale jest to standard, na którym, jeśli program zostanie napisany poprawnie, na pewno będzie działał. Na innych serwerach program może być napisany poprawnie pod względem JavaEE, ale wszystko będzie działać albo będzie źle, albo wcale. Mówię o Geronimo, o błędach można długo dyskutować)
Teraz podkręćmy te serwery. Tam, gdzie można było wybrać wersję 32-bitową i 64-bitową, wybrałem archiwizator dla mojego systemu 64-bitowego.

Instalacja

Jeśli chodzi o instalację, wszystko jest proste i dla każdego z wybranych serwerów instalacja polega po prostu na rozpakowaniu archiwum. Przykładowo stworzyłem na pulpicie folder AppServers, gdzie zacząłem wszystko rozpakowywać.

Ustawienia

Konfigurację serwerów zacznijmy od ustawienia portu HTTP, na którym będzie on działać. Następnie zarejestrujemy się jako administrator serwera. Każdy serwer ma swoje własne funkcje konfiguracyjne. Dla Tomcata. Wchodzimy do folderu z rozpakowanym Tomcatem, następnie do folderu conf , do pliku server.xml . Znajdujemy w tym pliku numer 8080 (domyślny port http) i zmieniamy go na dowolny. Ustawiłem na 9713 . Aby zarejestrować się jako administrator serwera, musisz otworzyć plik tomcat-users.xml znajdujący się w tym samym folderze . W nim przed tagiem zamykającym </tomcat-users> dodaj następujący tag <user username="egarmin" hasło="1" role="manager-gui,manager-script,manager-status,manager-jmx"/ > gdzie w Twoim przypisałem do ról maksymalną liczbę uprawnień administracyjnych (ról). Umożliwi mi to wdrażanie aplikacji zarówno za pośrednictwem interfejsu graficznego, jak i połączenia zdalnego. Teraz uruchommy Tomcat. Przejdź do folderu z rozpakowanym Tomcatem, następnie do folderu bin i uruchom plik startup.bat . Przejdź do przeglądarki pod adresem http://localhost:9713 . Wszystko powinno działać i zobaczymy tygrysa. KocurSprawdźmy teraz czy masz dostęp do panelu administracyjnego. W tym celu wejdź na stronę http://localhost:9713/manager , wpisz wybrany login i hasło i uzyskaj dostęp. Administrator w Tomcathurra! Możesz tymczasowo wyłączyć Tomcat, po prostu zamykając konsolę, w której jest uruchomiony. Dla Glassfisha. Przejdź do folderu z rozpakowanym glassfishem , następnie do podfolderu glassfish , następnie do podfolderu domains , następnie do folderu domain1 . Przejdź do folderu config i znajdź plik domain.xml . Tam też szukamy numeru 8080 (ten numer jest zazwyczaj domyślnym portem HTTP dla serwerów aplikacji i kontenerów serwletów) i zmieniamy go na cokolwiek chcemy. Ustawiłem na 9813 . Wypuśćmy szklaną rybę. Przejdź do folderu z rozpakowanym glassfishem, następnie do podfolderu glassfish , a następnie do folderu bin . Uruchom plik startserv.bat . W przeglądarce wpisz adres http://localhost:9813 . Na brzydkiej stronie, która się pojawi, z tytułem Serwer GlassFish, znajdź link prowadzący do Konsoli administracyjnej i kliknij go. Pierwsze logowanie do GlassFishNastępnie, po wejściu na piękną stronę konsoli administracyjnej zbudowanej na JSF, kliknij element Zmień hasło administratora Administrator w GlassFish i wprowadź hasło, którego potrzebujemy dla użytkownika admin , następnie potwierdź je i kliknij przycisk Zapisz. Zmiana hasła w GlassFishPodczas późniejszego logowania do Konsoli administracyjnej konieczne będzie wprowadzenie loginu administratora i podanego hasła. Zaloguj się do panelu administracyjnego GlassFish za pomocą hasłaTeraz możesz tymczasowo wyłączyć Glassfish , po prostu zamykając konsolę, w której jest uruchomiony. Dla WildFly. Przejdź do folderu z rozpakowanym wildfly . Następnie przejdź do folderu standalone , następnie do folderu konfiguracyjnego , a w nim do pliku standalone.xml . Następnie postępujemy według ustalonego schematu. Ustawiłem port na 9913 . Uruchommy serwer. W tym celu przejdźmy do folderu z rozpakowanym plikiem wildfly . Następnie przejdź do folderu bin i uruchom plik standalone.bat . Otwórz przeglądarkę i wprowadź adres http://localhost:9913 . Pierwsze logowanie do WildFlyKliknij odnośnik Konsola administracyjna , aby wejść do konsoli administracyjnej (czyli panelu administracyjnego serwera aplikacji). Tak się jednak nie stało, bo... wyskakuje ekran. Pierwsze logowanie do panelu administracyjnego WildFlyTen ekran informuje nas, że administrator nie został utworzony i aby go utworzyć, musimy skorzystać z narzędzia konsoli add-user.bat . Cóż, jeśli to konieczne, jest to konieczne. Wracamy do folderu bin i uruchamiamy to narzędzie. Najpierw zostaniesz poproszony o wybranie typu użytkownika, którego chcemy utworzyć. Musimy wybrać element (a) , co będzie oznaczać, że potrzebujemy administratora. Następnie zostaniesz poproszony o podanie nazwy użytkownika. Nazwa użytkownika i hasło . Hasło . Hasło nie może być puste, ale mile widziany jest jeden znak. Narzędzie oczywiście będzie krzyczeć, ale przełknie to, jeśli odpowiesz „tak” na pytanie „Czy jesteś pewien?” Następnie potwierdź hasło, ponownie wprowadzając żądanie ponownego wprowadzenia hasła . Wtedy będzie więcej pytań, ale po prostu odpowiemy na nie wszystkie twierdząco i wyjdziemy z narzędzia. Wracając do powyższej strony, znajdź link Spróbuj ponownie i kliknij go. Teraz wpisując dane nowo utworzonego administratora można dostać się do panelu administracyjnego. Administrator w WildFlyWyłączamy serwer zamykając okno konsoli, przez które został uruchomiony. Dla Geronimo. Przejdź do folderu z rozpakowanym geronimo . Następnie przejdź do podfolderu var , następnie do folderu config , a w nim pliku config-substitutions.properties . Plik ten opisuje w wygodnym formacie wszystkie porty używane przez serwer aplikacji, ale schemat wymiany portów jest taki sam. Ustawiłem port na 10013 . Uruchommy serwer geronimo . Przejdźmy do folderu z rozpakowanym geronimo , następnie do podfolderu bin i tam uruchommy plik startup.bat . Przejdź do strony http://localhost:10013. Co myślisz? Najprawdopodobniej strony nie będzie. Dlaczego? Rzecz w tym, że najnowsza wersja Geronimo (3.0) nie może współpracować z najnowszą wersją JDK (1.8), więc jeśli masz ją tylko lub nawet masz, powiedzmy, 7. wersję, ale zmienna środowiskowa JAVA_HOME nadal odnosi się konkretnie do 8. Podobnie jak mój, serwer aplikacji nie uruchamia się. Zatem, aby Geronimo działało, należy pobrać JDK 1.7. Załóżmy teraz, że zainstalowałeś 7. JDK, ale nie chcesz zmieniać wartości zmiennej JAVA_HOME (w końcu inne programy na to nie narzekają, co oznacza, że ​​mogą pracować z najnowszą wersją JDK). Co robić? Polecam otworzyć plik setjavaenv.bat znajdujący się w tym samym folderze bin i poszukać linii oznaczonej :okJdkFileCheck . Następnie w następnym wierszu dodaj zastąpienie zmiennej środowiskowej. Na przykład tak: set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_75 Nie ma tej linii, więc napisz ją sam. Jeśli masz system 32-bitowy, nie powinno być więcej problemów. Co więcej, jeśli masz system 64-bitowy i zainstalowałeś JDK 1.7 w konfiguracji 64-bitowej, to u Ciebie też wszystko jest w porządku. A teraz wyobraźmy sobie, że zdecydowaliśmy się na przewrotność i zainstalowanie JDK 1.7 z linii 32-bitowej na systemie 64-bitowym (mam np. Windows 7 64). Co wtedy? Wtedy będziesz musiał jeszcze trochę pokombinować, bo w systemie 64-bitowym znajdują się dwa foldery do instalowania programów: Program Files i Program Files (x86) i jeśli nic nie zmienisz, 32-bitowy JDK trafi do końcowy. Co w tym takiego strasznego? Tak, wydaje się w porządku, jednak jeśli zmienna JAVA_HOME ma na ścieżce nawiasy (x86), wówczas Geronimo dostaje niestrawności. Dlaczego? Bóg jeden wie, zwłaszcza biorąc pod uwagę, że według forów ten błąd powinien zostać naprawiony w 3. wersji Geronimo . Ale nic takiego. Najważniejsze w tej sprawie nie jest siusiu, jeśli Indianie tego nie poprawili, to my to poprawimy. Można to zrobić na dwa sposoby, ale dla pewności wolę je połączyć. Najpierw ponownie przejdź do pliku setjavaenv.bat i znajdź wspomnianą już etykietę :okJdkFileCheck . Pod tą etykietą znajduje się wiersz if "%JRE_HOME%" == "" jeśli istnieje "%JAVA_HOME%\bin\javac.exe" (ustaw JRE_HOME=%JAVA_HOME%\jre) w przeciwnym razie ustaw JRE_HOME=%JAVA_HOME%, w którym ma zostać wyleczyć Geronimo Wystarczy umieścić podciąg JRE_HOME=%JAVA_HOME%\jre w cudzysłowie, tj. zamień całą linię na if "%JRE_HOME%" == "" jeśli istnieje "%JAVA_HOME%\bin\javac.exe" (ustaw "JRE_HOME=%JAVA_HOME%\jre") w przeciwnym razie ustaw JRE_HOME=%JAVA_HOME% . Pamiętaj także lub bądź świadomy, że foldery takie jak Program Files w systemie Windows 7 mają synonimy (na przykład dla folderu C:C:\Program~2 ). Dlatego jeśli w pliku setjavaenv.bat po etykiecie :okJdkFileCheck ustawisz następującą wartość zmiennej JAVA_HOME set JAVA_HOME=C:\Progra~2\Java\jdk1.7.0_75 wtedy będziesz mieć również serwer Geronimo działający na serwerze 32 -bit JDK w 64-bitowym x-bitowym systemie operacyjnym. Coś w tym stylu... No cóż, w końcu możesz uruchomić Geronimo wywołując startup.bat . Teraz nie powinno być żadnych problemów. Przejdź do strony http://localhost:10013 w przeglądarce . W lewym górnym rogu znajdź link Konsola i kliknij go. GeronimoMusisz podać swoją nazwę użytkownika i hasło administratora. Od razu powiem, że jest to użytkownik systemowy z menadżerem haseł (wartości domyślne). Zaloguj się do obszaru administracyjnego Geronimo przy użyciu hasłaPrzechodząc do samej konsoli i postępując zgodnie z pozycjami menu jak na obrazku poniżej (zaznacz przycisk opcji Zaawansowane , a następnie wybierz Bezpieczeństwo > Użytkownicy i grupy ), możesz zmienić hasło użytkownika systemowego lub utworzyć kolejnego użytkownika administratora i usuń ten. Zmiana hasła w GeronimoMożesz także zatrzymać serwer Geronimo , po prostu zamykając okno konsoli, w którym serwer był uruchomiony.

Wniosek

W tej recenzji po prostu omówiłem instalację i wstępną konfigurację popularnych serwerów aplikacji oraz kontenera serwletów Tomcat. Z wyjątkiem Geronimo reszta serwerów była dla mnie bardzo przyjazna i gościnna. W następnym poście będę nadal rozważał serwery aplikacji i zrobię trzeci krok w kierunku usług internetowych, a mianowicie pokażę, jak wdrożyć usługę internetową opisaną w pierwszym kroku na tych serwerach. Aby to zrobić, utworzymy archiwum wojenne naszego serwisu internetowego i wyraźnie pokażę, że zestaw słoików innych firm, które muszą zostać uwzględnione w tym archiwum, aby usługa działała poprawnie, znacznie różni się w zależności od serwera.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION