Tomcat服務器是一個免費的開放源代碼的Web應用服務器,在中小型系統和並發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP網頁的首選。
Tomcat和Nginx、Apache(httpd)、lighttpd等Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態HTML的能力不如Nginx/Apache服務器。
目前Tomcat最新版本為10.0。Java容器還有resin、weblogic等。 Tomcat官網:http://tomcat.apache.org/
JDK (Java Development Kit) ,是 Java 語言的軟件開發工具包(SDK)),JDK是整個java開發的核心,它包含了JAVA運行時環境Java Runtime Enviromental,JRE)和 JAVA工具,其中JRE包括(JVM+Java系統類和庫);JAVA虛擬機(Java Virtual Mechinal,JVM),JVM是JRE的一部分,它是一個虛構出來的計算機,是通過在實際的計算機上仿真模擬各種計算機功能來實現的。
JAVA開發人員通過JDK(調用JAVA API)工具包,開發了JAVA程序(JAVA源碼文件)之后,通過JDK中的編譯程序(JAVAC)將java文件編譯成JAVA字節碼,在JRE上運行這些JAVA字節碼,JVM解析這些字節碼,映射到CPU指令集或OS的系統調用。
二、tomcat的安裝部署
1、安裝JDK
tomcat是基於java開發的,因此在部署tomcat之前需要先部署jdk
jdk軟件可以從清華開源鏡像站下載:
tomcat軟件可以從清華開源鏡像站下載:
https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31.tar.gz
第一步:下載安裝jdk
wget -c https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/11/jdk/x64/linux/OpenJDK11U-jdk_x64_linux_openj9_11.0.6_10_openj9-0.18.1.tar.gz tar -xf OpenJDK11U-jdk_x64_linux_openj9_11.0.6_10_openj9-0.18.1.tar.gz mkdir /usr/java mv jdk8u242-b08 /usr/java/jdk
第二步:配置java環境變量
cat >> /etc/profile.d/java.sh <<EOF export JAVA_HOME=/usr/java/jdk export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH EOF source /etc/profile
2、安裝tomcat
下載tomcat-9
wget -c https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31.tar.gz tar -xf apache-tomcat-9.0.31.tar.gz mv apache-tomcat-9.0.31 /usr/local/tomcat
cd /usr/local/tomcat/bin ./start.sh [root@inode3 tools]# ps -ef |grep tomcat root 32833 1 0 05:24 ?00:02:32 /usr/java/jdk/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start root 33360 33343 0 05:31 ?00:00:55 /usr/local/openjdk-8/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start root 77943 73370 0 19:36 pts/000:00:00 grep --color=auto tomcat
[root@inode3 ~]# netstat -antlp|grep java tcp6 0 0 127.0.0.1:8005 :::*LISTEN 78104/java tcp6 0 0 :::8080 :::*LISTEN 78104/java
瀏覽器訪問
[root@tomcat ~]# cd /usr/local/tomcat/ [root@tomcat tomcat]# tree -L 1 . ├── bin #→用以啟動、關閉Tomcat或者其它功能的腳本(.bat文件和.sh文件) ├── conf #→用以配置Tomcat的XML及DTD文件 ├── lib #→存放web應用能訪問的JAR包 ├── LICENSE ├── logs #→Catalina和其它Web應用程序的日志文件 ├── NOTICE ├── RELEASE-NOTES ├── RUNNING.txt ├── temp #→臨時文件 ├── webapps #→Web應用程序根目錄 └── work #→用以產生有JSP編譯出的Servlet的.java和.class文件 7 directories, 4 files [root@tomcat tomcat]# cd webapps/ [root@tomcat webapps]# ll total 20 drwxr-xr-x 14 root root 4096 Oct 5 12:09 docs #→tomcat幫助文檔 drwxr-xr-x 6 root root 4096 Oct 5 12:09 examples #→web應用實例 drwxr-xr-x 5 root root 4096 Oct 5 12:09 host-manager #→管理 drwxr-xr-x 5 root root 4096 Oct 5 12:09 manager #→管理 drwxr-xr-x 3 root root 4096 Oct 5 12:09 ROOT #→默認網站根目錄
四、tomcat的啟動與關閉
[root@tomcat ~]# /application/tomcat/bin/startup.sh Using CATALINA_BASE: /application/tomcat Using CATALINA_HOME: /application/tomcat Using CATALINA_TMPDIR: /application/tomcat/temp Using JRE_HOME: /application/jdk Using CLASSPATH: /application/tomcat/bin/bootstrap.jar:/application/tomcat/bin/tomcat-juli.jar Tomcat started. [root@tomcat ~]# netstat -tunlp|grep java tcp 0 0 :::8009 :::* LISTEN 4743/java tcp 0 0 :::8080 :::* LISTEN 4743/java [root@tomcat ~]# ps -ef|grep [j]ava root 4743 1 17 06:10 pts/0 00:00:03 /application/jdk/bin/java -Djava.util.logging.config.file=/application/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/application/tomcat/endorsed -classpath /application/tomcat/bin/bootstrap.jar:/application/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/application/tomcat -Dcatalina.home=/application/tomcat -Djava.io.tmpdir=/application/tomcat/temp org.apache.catalina.startup.Bootstrap start
[root@inode3 bin]# ./shutdown.sh Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME:/usr/java/jdk Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
#1、創建普通用戶java useradd -r java #2、使用java用戶啟動tomcat chown -R java.java /usr/local/apache-tomcat-8.5.42 su - java -c "/usr/local/tomcat/bin/catalina.sh start" [root@node1 tomcat]# ps -ef |grep tomcat java 14917 1 12 04:33 ? 00:00:02 /usr/java/default/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/localtomcat/temp org.apache.catalina.startup.Bootstrap start
[root@inode3 logs]# tail -fn 10 catalina.out 10-Mar-2020 21:57:49.363 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/examples] has finished in [450] ms 10-Mar-2020 21:57:49.363 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/host-manager] 10-Mar-2020 21:57:49.421 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/host-manager] has finished in [58] ms 10-Mar-2020 21:57:49.422 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/manager] 10-Mar-2020 21:57:49.471 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/manager] has finished in [50] ms 10-Mar-2020 21:57:49.485 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"] 10-Mar-2020 21:57:49.515 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [1,106] milliseconds