Tomcat(介紹,JDK安裝,Tomcat安裝,配置Tomcat監聽80端口)
目前有很多網站是用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端口)