Korzystanie z Tomcat7 w NetBeans i zmiana portu nasłuchu Tomcat7

Na potrzeby tego rozdziału stworzę nowy projekt. Nowy serwer dodamy po drodze. Procedurę dodawania projektu już znasz, ale zatrzymamy się przy przedostatnim oknie. W zakładce Server and Settings wybieramy opcję Add (obok selektora z domyślnie wybranym GlassFish’em). Następnie z listy wybieramy pozycję Apache Tomcat or TomEE. Wychodzę na poniższe okno:

W Server Location musimy podać lokalizację serwera Tomcat (dokładnie taką samą jak w zmiennej CATALINA_HOME). W Username i Password podajemy w zasadzie cokolwiek. Aby aplikacja mogła deployo’wać paczki na serwerze (a dokładnie wykonywać hot-deploy czyli instalację appki w czasie działania serwera) potrzebuje specjalnego użytkownika w obrębie serwera.

Definicje użytkowników i ich ról znajdują się w pliku /conf/tomcat-users.xml w katalogu Tomcat’a – przyjrzymy mu się jeszcze później. Po dodaniu nowego projektu i uruchomieniu go uzyskamy poniższy Output:

Jest to błąd w samym Tomcat’cie (a dokładnie w pliku catalina.bat) – na szczęście łatwy do poprawienia. Wystarczy zmienić w nim linijki 179 i 184:

Do poniższej postaci (chodzi o usunięcie cudzysłowów w obu linijkach):

OK. Spróbujmy jeszcze raz uruchomić Tomcat’a z poziomu NetBeans:

Wszystko działa tak jak powinno. na Linuksach powyższy problem nie występuje.

Uruchomienie Tomcat'a na porcie 80

Chciałbym jeszcze pokazać kilka rzeczy, które sprawią, że rozwijanie aplikacji będzie wygodniejsze. Wykonamy dwie rzeczy. Przepniemy port Tomcata z 8080 do domyślnego portu HTTP czyli 80. Muszę zmienić wpis o porcie wykorzystywanym przez serwer w pliku conf/server.xml.

Wystarczy zmienić atrybut port na 80 (i oczywiście zrestartować serwer), a Tomcat będzie dostępny już bez podawania portu:

Oczywiście jest to najprostsza procedura. Na różnych systemach operacyjnych może ona wyglądać inaczej. Np. na Linuksach często trzeba dodatkowo odblokować port firewall'a, a czasem nawet za pomocą iptables przekierowywać ruch sieciowy na portach. Z kolei nie można tego wykonać na Windows 10 ponieważ port 80 jest zarezerwowany przez system.

Ten artykuł jest elementem poniższych kursów: