Serwer Tomcat¶
Przygotowanie¶
Pierwszym krokiem jest skopiowanie serwera do swojego katalogu domowego poleceniem:
- Tomcat 8.5
cp -r /usr/local/apache-tomcat-8.5 ~/apache-tomcat
- Tomcat 9.0
cp -r /usr/local/apache-tomcat-9.0 ~/apache-tomcat
- Tomcat 10.0
cp -r /usr/local/apache-tomcat-10.0 ~/apache-tomcat
Nasępnie należy odblokować Binexec oraz zarezerować 2 porty TCP.
Konfiguracja¶
W pliku konfiguracyjnym serwera Tomcat /usr/home/LOGIN/apache-tomcat/conf/server.xml
należy zmienić numery portów (poprzedzone port=
: 8080
oraz 8005
) na numery wcześniej zarezerwowanych portów. Dwa pierwsze numery muszą być takie same.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Server port="8005" shutdown="SHUTDOWN">
Resztę konfiguracji serwera Tomcat należy ustawić samodzielnie. Po zmianie niezbędnych ustawień należy ustawić zmienną CATALINA_BASE="/usr/home/LOGIN/apache-tomcat"
poprzez dodanie jej w nowo utworzonym przez pliku setenv.sh
w /usr/home/LOGIN/apache-tomcat/bin/
. W miejscu LOGIN
należy podać login swojego konta hostingowego. Do tego samego pliku można również wstawić ograniczenie RAM dla serwera Tomcat przy pomocy zmiennej CATALINA_OPTS
, przykład:
CATALINA_OPTS='-Xms512m -Xmx1024m'
Serwer Tomcat uruchomia się poleceniem:
~/apache-tomcat/bin/startup.sh
Aby serwer był dostępny na porcie 80/443 należy utworzyć domenę typu proxy z adresem docelowym localhost i portem docelowym takim samym jaki został wpisany w Connector port
.
Wiele instancji¶
Tomcat obsługuje serwowanie wielu aplikacji webowych na jednym serwerze. Aby dodać nową należy zarezerwować dodatkowy port TCP
oraz trzeba dopisać do pliku /usr/home/LOGIN/apache-tomcat/conf/server.xml
konfigurację nowej strony:
<Service name="webapp">
<Connector port="35160" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapp2" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="webapp2_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
Automatyczne uruchamianie serwera Tomcat¶
Aby Tomcat startował automatycznie po ponownym uruchomieniu serwera należy utworzyć odpowiednie zadanie w Cron. W formularzu w panelu konta hostingowego po przejściu do Cron
należy wybrać uruchamianie po reboot
. W przypadku dodawania zadania poprzez SSH utworzyć wpis z @reboot
. Wpis uruchamiający serwer:
/bin/sh /usr/home/LOGIN/apache-tomcat/bin/startup.sh