1. 程式人生 > >Tomcat(介紹,JDK安裝,Tomcat安裝,配置Tomcat監聽80端口)

Tomcat(介紹,JDK安裝,Tomcat安裝,配置Tomcat監聽80端口)

必須 bin rgb 命令 mct local bak $path 系統

一、Tomcat介紹

  • 目前有很多網站是用Java編寫的,所以解析Java程序就必須有相關的軟件來完成,Tomcat就是其中之一

  • Tomcat是Apache軟件基金會,的Jakarta項目中的一個核心項目,由apache、sun和其他一些公司及個人共同開發而成,Tomcat技術先進,性能穩定而且免費,因而深受Java愛好者的喜歡,並得到部分開發商的認可,成為目前比較流行的web因公服務器。

  • Java程序寫的網站用Tomcat+jdk來運行的。

  • tomcat是一個中間件,真正起作用的,解析java腳本是jdk。

  • jdk(java development kit)是整個Java的核心,它包含了java運行環境的一對java相關的工具以及java基礎庫。

  • 最主流的jdk為sun公司發布的jdk,初次之外,其實IBM公司也有發布JDK,Centos上也可以用yum安裝openjdk。

  • Tomcat是一個輕量級應用服務器,在中小型系統和並發用戶不是很多的場合下普遍被使用,是開發和調試java程序的首選,對於初學者來說,在一臺機器上配置好Apache服務器之後,可利用它相應HTML頁面的訪問請求。

  • 實際上,Tomcat部分是Apache服務器的拓展,但它是獨立運行的,所以當你運行Tomcat時,它是作為一個獨立的進程運行的。


  • 二、安裝JDK

  • jdk版本1.6,1.7,1.8

  • 一、下載jdk:

  • 官網下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

  • 不同的操作系統版本使用不同的jdk版本

  • 我使用的是技術分享圖片

  • 二、解壓jdk:

  • 下載好後,我們可以使用xftp把jdk放到/usr/local/src下

  • 解壓jdk壓縮包:

  • [root@lnmp ~]# tar zxvf /usr/local/src/jdk-8u151-linux-x64.tar.gz

  • 三、設置環境變量:

  • [root@lnmp ~]# vim /etc/profile (在最後加入以下幾行)

  • JAVA_HOME=/usr/local/jdk1.8/

  • JAVA_BIN=/usr/local/jdk1.8/bin

  • JRE_HOME=/usr/local/jdk1.8/jre

  • PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin

  • CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar


  • 執行以下命令,使配置生效:

  • [root@lnmp ~]# source /etc/profile


  • 檢查jdk有沒有安裝成功,配置是否正確:

  • [root@lnmp ~]# java -version

  • 如果顯示了以下內容,說明配置正確:

  • java version "1.8.0_151"

  • Java(TM) SE Runtime Environment (build 1.8.0_151-b12)

  • Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)


  • 如果顯示的不同,可能系統調用了rpm的openjdk,不要隨便卸載它,系統裏可能有某一個程序在使用它。我們只需要做一個臨時處理就好:

  • mv /usr/bin/java /usr/bin/java_bak

  • source /etc/profile

  • 再次執行

  • [root@lnmp ~]# java -version,顯示結果就正常了


三、安裝Tomcat

一、安裝Tomcat

[root@lnmp src]# cd /usr/local/src/

[root@lnmp src]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.24/src/apache-tomcat-8.5.24-src.tar.gz

[root@lnmp src]# tar zxvf apache-tomcat-8.5.24-src.tar.gz

二、啟動Tomcat

因為是二進制包,所以免去了編譯的過程,啟動Tomcat,命令如下:

[root@lnmp bin]# /usr/local/tomcat/bin/startup.sh

在這裏,我遇到了2個錯誤和大家分享一下。

第一個錯誤:

[root@lnmp bin]# /usr/local/tomcat/bin/startup.sh

-bash: /usr/local/tomcat/bin/startup.sh: 權限不夠

這個好解決,我ls -l看了一下bin/的權限,發現所有者沒有x執行權限

[root@lnmp tomcat]# ll

總用量 304

drw-r-xr-x. 2 root root 4096 12月 26 13:49 bin

用下面這條命令則可以解決:

[root@lnmp tomcat]# chmod -R u+x bin/


第二個錯誤:

[root@lnmp bin]# /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/local/jdk1.8

Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

touch: 無法創建"/usr/local/tomcat/logs/catalina.out": 沒有那個文件或目錄

/usr/local/tomcat/bin/catalina.sh:行464: /usr/local/tomcat/logs/catalina.out: 沒有那個文件或目錄

報錯沒有logs目錄,則建立一個就好。

[root@lnmp bin]# mkdir /usr/local/tomcat/logs

[root@lnmp bin]# /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/local/jdk1.8

Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

Tomcat started.

再次啟動時,提示啟動成功。

關閉服務用的命令是:

[root@lnmp bin]# /usr/local/tomcat/bin/shutdown.sh

Tomcat不支持restart,修改配置文件前要關閉,修改完後再開就好。


三、查看服務是否啟動成功以及調用的端口。

[root@lnmp src]# ps aux |grep tomcat

root 3144 45.4 8.0 2296132 81524 pts/0 Sl 14:25 0:05 /usr/local/jdk1.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 -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 3188 0.0 0.0 112680 976 pts/0 R+ 14:25 0:00 grep --color=auto tomcat


[root@lnmp src]# netstat -lntp |grep java

tcp6 0 0 :::8080 :::* LISTEN 3144/java

tcp6 0 0 127.0.0.1:8005 :::* LISTEN 3144/java

tcp6 0 0 :::8009 :::* LISTEN 3144/java

這裏需要記住的是三個端口號,8080為提供web服務的端口,8005為管理端口,8009端口位第三方服務調用的端口,比如httpd和Tomcat結合時會用到。


四、在瀏覽器上測試。

為了方便起見,我們關閉防火墻。

[root@lnmp src]# systemctl stop firewalld

技術分享圖片


四、配置Tomcat監聽80端口

默認直接輸入ip訪問的是80端口,Tomcat訪問的是8080端口,如果想修改為80,則需要修改server.xml文件。

[root@lnmp src]# vim /usr/local/tomcat/conf/server.xml

找到<Connector port="8080" protocol="HTTP/1.1"

修改為<Connector port="80" protocol="HTTP/1.1"


修改完後重啟服務:(我們發現監聽80端口的是nginx)

[root@lnmp src]# /usr/local/tomcat/bin/shutdown.sh

[root@lnmp src]# /usr/local/tomcat/bin/startup.sh

[root@lnmp src]# netstat -lntp |grep 80

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1232/nginx: master tcp6 0 0 :::8009 :::* LISTEN 3401/java

遇到這種情況,我們把nginx關閉,把tomcat重新啟動,然後在觀察

[root@lnmp src]# systemctl stop nginx

[root@lnmp src]# /usr/local/tomcat/bin/shutdown.sh

[root@lnmp src]# /usr/local/tomcat/bin/startup.sh

[root@lnmp src]# netstat -lntp |grep 80

tcp6 0 0 :::80 :::* LISTEN 3401/java tcp6 0 0 :::8009 :::* LISTEN 3401/java 此時我們又發現,沒有8005端口,因為從新啟動後,8005作為管理端口會啟動的較慢。

在8005沒有啟動時我們用瀏覽器直接去訪問時很慢的,因為他要等8005啟動後。



Tomcat(介紹,JDK安裝,Tomcat安裝,配置Tomcat監聽80端口)