Tomcat 簡介與安裝

 

Tomcat WEB服務器


1)Tomcat是一款開源的、免費的WEB服務器軟件,是Apache基金會旗下的,主要是用於發佈網站代碼、提供網頁信息服務的,用戶通過瀏覽器可以實現頁面的訪問。

2)Tomcat WEB軟件默認可以處理靜態網頁,同時也可以處理動態網頁,而Nginx、Apache只能處理靜態網頁,Tomcat軟件主要是基於Java語言開發的,主要是用於發佈JAVA動態網站。

 

靜態網頁(靜態文件)

靜態網頁主要是跟後端數據庫不發生交互的網頁,其網頁內容很少被更新或者幾乎不更新,網頁文件後綴命名通常是以.htm、.html、.xml等結尾的,這些內容可以直接被瀏覽器解析,瀏覽器可以解析html,css,js語法。(每個用戶訪問到的資源都是一樣的)

動態網頁(動態文件)

動態網頁主要是跟後端數據庫發生交互的網頁,其網頁內容經常被更新或者隨着後端數據庫內容變化而更新,網頁文件後綴命名通常是以.asp、.jsp、.php等結尾的。(每個用戶訪問資源得到的結果可能不一樣,動態資源需要被解析爲靜態資源返回給瀏覽器,通過瀏覽器進行解析,瀏覽器只能解析靜態資源)

  1. JAVA動態網頁(JSP:Java Server Pages)是基於JAVA語言開發的網頁程序,而JAVA開發必備一個組件JDK工具包。JDK是JAVA語言開發的核心組件,同時JDK也是JAVA代碼程序運行時的環境,JDK工具包中:JRE是用來解析和處理JSP網頁程序的。
  2. JDK工具包主要是有兩個部分組成,分別是JAVA工具(代碼開發時用到)和JRE運行環境(代碼運行時用到),其中JRE又是由JVM+類、庫文件組成的。JVM(JAVA虛擬機)主要是用於運行和解析JAVA代碼(字節碼:是通過JAVAC編譯器工具編譯生成的)。

 

JDK的部署


[root@localhost ~]# mkdir -p /usr/java/  一般jdk都放在該目錄下面
[root@localhost java]# tar xf jdk1.8.0_131.tar.gz
[root@localhost src]# ll /usr/java/jdk1.8.0_131
total 25864
drwxr-xr-x. 2 10 143     4096 Mar 15  2017 bin  #裏面包含工具包
-r--r--r--. 1 10 143     3244 Mar 15  2017 COPYRIGHT
drwxr-xr-x. 4 10 143      122 Mar 15  2017 db
drwxr-xr-x. 3 10 143      132 Mar 15  2017 include
-rwxr-xr-x. 1 10 143  5097105 Mar 15  2017 javafx-src.zip
drwxr-xr-x. 5 10 143      185 Mar 15  2017 jre  #java代碼運行時候所需要的
drwxr-xr-x. 5 10 143      245 Mar 15  2017 lib
-r--r--r--. 1 10 143       40 Mar 15  2017 LICENSE

............................................................................................................................

[root@localhost bin]# ./java -version    --tomcat是java語言開發的,在運行tomcat之前需要確保JDK安裝了,可以看到JDK版本是1.8
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

 

tomcat的部署


[root@localhost src]# tar xf apache-tomcat-8.0.39.tar.gz 
[root@localhost src]# mv apache-tomcat-8.0.39 /usr/local/tomcat
[root@localhost src]# ll tomcat/
total 92
drwxr-xr-x. 2 root root  4096 May 28 15:10 bin
drwxr-xr-x. 2 root root   182 Nov  9  2016 conf
drwxr-xr-x. 2 root root  4096 May 28 15:10 lib
-rw-r--r--. 1 root root 57011 Nov  9  2016 LICENSE
drwxr-xr-x. 2 root root     6 Nov  9  2016 logs
-rw-r--r--. 1 root root  1444 Nov  9  2016 NOTICE
-rw-r--r--. 1 root root  6741 Nov  9  2016 RELEASE-NOTES
-rw-r--r--. 1 root root 16195 Nov  9  2016 RUNNING.txt
drwxr-xr-x. 2 root root    30 May 28 15:10 temp
drwxr-xr-x. 7 root root    81 Nov  9  2016 webapps
drwxr-xr-x. 2 root root     6 Nov  9  2016 work

bin目錄下存放着可執行文件,着兩個腳本是可以啓動和關閉tomcat的腳本,.bat是windows的腳本。.sh是linux的shell腳本
-rwxr-xr-x. 1 root root   1902 Nov  9  2016 shutdown.sh
-rwxr-xr-x. 1 root root   1904 Nov  9  2016 startup.sh

conf目錄:存放着配置文件
logging.properties 日誌的配置文件
server.xml tomcat服務器配置的信息,比如tomcat的端口號就是配置在該文件當中
tomcat-users.xml 配置了tomcat的訪問用戶以及每個用戶具有的角色信息進行權限管理
Web.xml  tomcat部署的所有應用配置文件,在該文件裏可以配置一些默認的配置,比如默認的servelet是哪個


lib目錄:存放着tomcat的一些jar包

webapps目錄:tomcat默認的應用部署目錄,如果有一些web項目需要部署到tomcat,那麼就可以放在該目錄下

work目錄:jsp文件編譯之後生成的java源碼以及class字節碼所存放的目錄

 

配置JAVA_HOME,CLASSPATH環境變量


[root@localhost src]# JAVA_HOME=/usr/java/jdk1.8.0_131
[root@localhost src]# echo $JAVA_HOME
/usr/java/jdk1.8.0_131

每次開機都會加載,那麼該變量永久生效,你退出當前shell重新登入還是生效,因爲在你重新進入shell終端那個文件會生效

[root@localhost ~]# vim /etc/profile
[root@localhost ~]# tail -n 3 /etc/profile  在倒數兩行加入如下
export JAVA_HOM=/usr/java/jdk1.8.0_131
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib  --jdk調用的lib庫,這個變量定義了lib庫和軟件包的目錄

[root@localhost ~]# source /etc/profile  加載該文件裏的內容
[root@localhost local]# echo $CLASSPATH
:/usr/java/jdk1.8.0_131/lib:/usr/java/jdk1.8.0_131/jre/lib

#這些環境變量方便程序查找需要的東西

 

啓動你的tomcat


[root@localhost ~]# /usr/local/tomcat/bin/startup.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/jdk1.8.0_131
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

[root@localhost ~]# ps -ef | grep tomcat
root      10351      1  5 15:54 pts/0    00:00:04 /usr/java/jdk1.8.0_131/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 -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -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@localhost ~]# netstat -tpln | grep -wE "8005|8080|8009"
tcp6       0      0 :::8080                 :::*                    LISTEN      10351/java          
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      10351/java          
tcp6       0      0 :::8009                 :::*                    LISTEN      10351/java  

可以看到起來了三個端口,瀏覽器訪問使用8080
[root@localhost ~]# netstat -tpln | grep -wE "8005|8080|8009" 
tcp6       0      0 :::8080                 :::*                    LISTEN      10351/java          
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      10351/java          
tcp6       0      0 :::8009                 :::*                    LISTEN      10351/java    

8005是用來關閉tomcat的端口的,也可以使用kill命令來關閉,只是關閉的一種方式
127.0.0.1:8005  可以看到只有本機才能連接上8005端口
8009端口是tomcat和apache專屬端口,apache連接tomcat就是通過該端口,nginx想連tomcat就不能夠通過8009

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章