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. Aby 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ę:
- 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)
- (Red Hat) WildFly (dawniej JBoss)
- (Apacz) Geronimo
- (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.
Sprawdź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.
hurra! 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.
Następnie, po wejściu na piękną stronę konsoli administracyjnej zbudowanej na JSF, kliknij element
Zmień hasło administratora i wprowadź hasło, którego potrzebujemy dla użytkownika
admin , następnie potwierdź je i kliknij przycisk
Zapisz.
Podczas późniejszego logowania do Konsoli administracyjnej konieczne będzie wprowadzenie loginu
administratora i podanego hasła.
Teraz 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 .
Kliknij odnośnik
Konsola administracyjna , aby wejść do konsoli administracyjnej (czyli panelu administracyjnego serwera aplikacji). Tak się jednak nie stało, bo... wyskakuje ekran.
Ten 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.
Wyłą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.
Musisz 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).
Przechodzą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.
Moż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.
GO TO FULL VERSION